首页 > 解决方案 > 我可以从一系列 countif 函数中创建一个数组吗?

问题描述

我的数据的截断版本如下面的屏幕截图所示:三列 5 个唯一名称。这些名称以任何顺序和任何位置出现,但绝不会在一行中重复。

我的目标是创建一个数组,其中包含 Adam 在每一行中出现的次数。我可以在新列中填写公式=countif(A2:C2,$I$2),或者如果我为每一行手动编写数组,它看起来像:

={countif(A2:C2,$I$2);countif(A3:C3,$I$2);countif(A4:C4,$I$2);countif(A5:C5,$I$2);countif(A6:C6,$I$2)}

其中单元格 I2 包含“亚当”。当然,这对于大数据集是不可行的。

我知道数组实际上是变成范围的单元格,但我的主要问题是我试图转换的单元格已经引用了一个范围,我不知道如何告诉软件将 countif 应用到每一行(即我凭直觉想做类似 countif((A2:C2):(A99:C99),"Adam") 的事情,但明白这不是电子表格的工作方式)。

我的目标最终是在相应的数组上执行一些操作,但我认为一旦我能得到我正在寻找的数组公式,我就足够舒服了。

数据样本

标签: arraysif-statementgoogle-sheetsgoogle-sheets-formulaarray-formulas

解决方案


尝试:

=ARRAYFORMULA(IF(A2:A="",,MMULT(IF(A2:C="Adam", 1, 0), {1;1;1})))

0


推荐阅读