countif 在多个工作表中使用相同范围的单元格

countif using the same range of cells across mulitple worksheets

我的工作簿在 1、2、3 等月份的每一天都有一个单独的工作表

在每个工作表中,单元格 C8:C34 包含可能重复的数字 (0-999)。

我想计算特定数字出现的总次数,我已经在用连续的 countif 语句进行计算,但这似乎是一种非常冗长和混乱的方法。有没有更简单的方法来实现这个?

当前代码:

=(COUNTIFS('1'!$C:$C,C1)+(COUNTIFS('2'!$C:$C,C1)))

两位伯爵? 不好, 相反,使用枢轴 table.

说明: 假设您的 Excel sheet 看起来像这样:

Select "Insert Pivot Table" 在 "Insert" 选项卡中, 在数据透视 Table 字段(右栏)中将 "Label" 放入列中 并将标签放入值中(只需拖放)。将值更改为 "Count of Labels" 而不是标签总和, 故事到此结束。

count if(最好的朋友 Sum if)是昂贵的操作,请适度使用它们。 Pivot Table 在经过优化的意义上很便宜。

结果如下:

已知sheets的总计数,则

=COUNTIF('1'!$C:$C,C1)+COUNTIF('2'!$C:$C,C1)+COUNTIF('3'!$C:$C,C1)

可以换成

=SUMPRODUCT(COUNTIF(INDIRECT({"1";"2";"3"}&"!$C:$C"),C1))

{"1";"2";"3"} 是一个包含 sheet 个名称的数组文字。 SUMPRODUCT 将隐式用作数组公式,并将此数组文字视为“1”; “2”; “3”一个接一个,将在INDIRECT中以不同的sheet名字表演3个单曲COUNTIF

如果 sheet 名字是正在进行的数字,那么这也可能是:

=SUMPRODUCT(COUNTIF(INDIRECT(ROW(:)&"!$C:$C"),C2))

数组上下文中会有ROW(:) {1;2;3}。在与 & 连接时,数字将隐式转换为字符串。