跨列范围的Excel计数特定值,但每列仅计算一次

时间:2020-09-07 13:09:22

标签: excel excel-formula

我一直在尝试计算出一个值在一个范围内出现的次数,但每列一次。

使用下面的示例数据,我想要获得的结果显示在末端单元格中。每次出现名称时,使用 = COUNTIF(A3:G5,J3)进行计数,有时会导致重复。

example

如何使其每列一次对每个名称进行计数,但要跨多列(实际数据中每年的每一天都有1列)

谢谢

3 个答案:

答案 0 :(得分:3)

A7 中输入:

=IF(COUNTIF(A3:A5,$J$3)>0,1,0)

并将其复制到 G7 。然后在 H7 中输入:

=SUM(A7:G7)

enter image description here

答案 1 :(得分:2)

您还可以使用单个数组公式对值进行计数:

=SUM(--(MMULT(TRANSPOSE(--($A$2:$G$4=I2)),ROW($A$1:$A$3)^0)>0))

ctrl + shift + enter确认编辑后的数组公式

enter image description here

答案 2 :(得分:0)

最后一个问题是“计算名称显示在多少列中?”

在这种情况下,您需要在工作表顶部或底部的隐藏行,其中包含该列中的所有内容。假设是第1行:

a)A1中的公式为=CONCAT(A3:A5),B1为=CONCAT(B3:B5),依此类推(范围覆盖第3至5行)。 CONCAT将文本字符串粘贴在一起。
b)进行计数的单元格为=COUNTIF(A1:G1, "*J3*")。要做的就是检查A1:G1中的哪些单元格包含J3。

瞧,问题解决了。