如何使用 Excel 中 COUNTIF 检查的单元格中的单元格文本

How to Use Cell Text From Cell Being Checked by COUNTIF in Excel

我想要做的是在一个单元格中使用一个公式来计算范围内的值,这些值符合对该范围单元格的值与另一个单元格进行比较的查找。

天哪,现在我看了它,真是一头雾水。让我在这里澄清很多。

假设我们有 Cell1,它将保存计数公式。我在表 1 的两列 table 中有一个值列表。 Cell1 将从中计数的范围 Range1 是其中具有列表验证的单元格范围。表 1 在第 1 列中包含对这些列表可能产生的所有值的引用。我有另一个单元格 Cell2,它包含一个数字值。 Table1 的第 2 列包含引用 Cell2 的值。我需要计算 Range1 中的值的数量,这些值在 Table12 中的行与 Cell2 中的值匹配。有没有一种方法可以在不单独引用每个单元格的情况下使用 COUNTIF 执行此操作?是否有一些 shorthand(如 Range.currentValue)可用于获取当前正在检查的单元格的值?范围长 11 行,我需要做第二个范围,计算 12 行。

伙计,我真的不知道如何再澄清了...我现在 post 这个,以防有人能理解我在说什么并知道答案,同时我正在处理可以上传的示例电子表格。

我尽我最大的努力直观地表达了我想要完成的事情: http://gyazo.com/b83295baf3b156683a5c39b40c806504

扩展说明:http://gyazo.com/4048802050e3dcfca7aee238acc2f7dd

使用辅助列,例如,在棕色和第一个蓝色之间或设置的右侧。使用类似

的 vlookup

=vlookup(brownvalue,BluetableRange,2,false)

然后对辅助列进行计数

=countif(HelperColumn,"<="&GreenCellAddress)

如果它扰乱了您的电子表格设计,您可以使用助手隐藏该列。

您可以(并且可能应该)按照 Teylyn 的建议使用辅助列。但是,当这可能不方便时,您也可以使用数组公式:

=SUM(COUNTIFS(listlookupcolumn,rangeoflists,numbervaluecolumn,"<="&numbertomatch))

要将其作为数组公式输入,请在编辑公式后键入 "ctrl-shift-enter",而不仅仅是 "enter"

粗略的解释:由于rangeoflists是在期望单个值的地方,所以countifs对每个值都计算一次,并将结果数组传递给sum。使用 "evaluate formula" 功能查看中间结果数组。

事后思考:现在我想到这确实依赖于包含唯一值的 listlookupcolumn。 (在这个例子中几乎可以肯定。)你可以稍微修改一下公式来解决这个问题:

=SUM(SIGN(COUNTIFS(listlookupcolumn,rangeoflists,numbervaluecolumn,"<="&numbertomatch)))

SIGN 函数可以避免重复计算。

同样,您必须使用 "ctrl-shift-enter" 才能正常工作。 (是的,正如我确定其他人已经准备好指出的那样,您也可以在这种情况下使用 sumproduct hack。)