我的工作簿在每月1、2、3等的每一天都有一个单独的工作表。
在每个工作表上,单元格C8:C34包含可能重复的数字(0-999)。
我想计算一个特定数字出现的总次数,我已经用连续的countif语句来计算了,但这似乎是一个非常冗长和混乱的方法。有没有更简单的方法来实现这一点?
当前代码:
=(COUNTIFS('1'!$C$8:$C$34,C1)+(COUNTIFS('2'!$C$8:$C$34,C1)))发布于 2016-07-20 14:35:30
如果总数量是已知的,那么
=COUNTIF('1'!$C$8:$C$34,C1)+COUNTIF('2'!$C$8:$C$34,C1)+COUNTIF('3'!$C$8:$C$34,C1)可以替换为
=SUMPRODUCT(COUNTIF(INDIRECT({"1";"2";"3"}&"!$C$8:$C$34"),C1)){"1";"2";"3"}是一个包含工作表名称的数组文字。SUMPRODUCT将隐式地作为数组公式工作,并将此数组文字依次作为"1";"2";"3“,并将在INDIRECT中使用不同的工作表名称执行3个COUNTIF。
如果工作表名称是正在进行的数字,则也可以是:
=SUMPRODUCT(COUNTIF(INDIRECT(ROW($1:$3)&"!$C$8:$C$34"),C2))在数组上下文中将有{1;2;3}。在与&连接时,数字将被隐式转换为字符串。
发布于 2016-07-20 11:32:24
两个多国?不好,取而代之的是使用数据透视表。
说明:假设您的Excel表单如下所示:

在“插入”选项卡中选择“插入透视表”,在“透视表”字段(右列)中将“标签”放入列中,并将标签放入值中(只需拖放)。将值更改为"Count of Labels“而不是Sum of Labels,这就是故事的结尾。
count if (以及它最好的朋友Sum if)是开销很大的操作,适度使用它们。数据透视表是廉价的,因为它们被优化了。
结果如下所示:

https://stackoverflow.com/questions/38471743
复制相似问题