我正在尝试创建一个函数,计算特定文本值在二维数组中出现的次数,同时满足每行唯一的条件。
本质上它只是一列日期,向下延伸时增加 1 天,一行文本值跨越 48 个单元格,与每行日期值相对应。我希望能够计算特定值在某一天的单元格中出现的次数,该次数基于另一个单元格,我手动更改日期以查看该日期的值。
基于其值的二维数组中的 countif 部分很容易,但我无法弄清楚如何将一维数组的条件与二维数组的条件关联起来。
答案1
假设:您关心的日期在 A1 中;您要查找的值/文本在 B1 中;日期列表在 A3:A1000 中;数据在 B3:Z1000 中。使用 MATCH 您可以找到日期匹配的行,然后在 INDEX 中使用该行返回整行数据,然后在 COUNTIF 中使用该行查找所需的文本:
=COUNTIF(INDEX($B$3:$Z$1000,MATCH($A$1,$A$3:$A$1000,0),),$B$1)
请注意,INDEX 有第二个逗号 - MATCH 返回行,但我们还需要指定一列,但通过包含逗号并省略其值,我们可以获得该行中的所有列。您可以在此处指定确切的列数,但如果将来列数更多或更少,则灵活性会降低。