我正在尝试使用总共 4 组条件在 Excel 2010 中构建 COUNTIF 语句。我理想情况下希望它看起来像这样:
COUNTIFS(range1,value in a1,range2,value in b1,range3,value in c1,range4,value in d1)
如果单元格 A1-D1 中有实际值,则此方法可行。但是,如果其中一个单元格为空,则无法获得预期的数字。(我正在使用我在 A1-D1 中设置的标准通过自动过滤进行测试)。似乎确实发生了以下情况:如果 C1 为空,则 COUNTIFS 将返回 C1 不为空的所有行的计数。
有没有办法设置默认值,以便如果 A1-D1 中没有值,COUNTIFS 将包含所有内容?
答案1
答案2
如您所知,使用 Excel 的筛选器可以让您选择显示所有项目(包括空白)、仅显示空白项目或显示任何其他项目组合。但是,它会隐藏未选择的项目。如果可以接受隐藏未选择的项目,则以下解决方案可能适合您。
您可以使用 SUBTOTAL 函数计算过滤器选择的行数,如下所示。
如果数据中的任何单元格为空白,请使用如下所示的虚拟列设置数据。虚拟列的每一行都有文本,因此我们有一种可靠的方法来计算任何行。
使用小计函数函数编号103 并选择该范围的虚拟值单元格。函数编号103 仅计算过滤器选择的行。1
点击数据区域中的单元格并打开过滤器。选择整个虚拟列(点击列 D 标题),右键单击并选择隐藏。
现在,当您更改过滤器中的项目时,计数将指示过滤器选择的行数。
- 我刚刚注意到底部的备注SUBTOTAL 文档假设它总是忽略未包含在过滤器结果中的行,因此您可以使用函数编号3 或 103 来计算虚拟值。
答案3
CountIFS() 不计算空白,但可以使用类似 =COUNTIFS(M2:M51, "<>诺基亚",M2:M51,"<>三星", M2:M51, "<>"),最后一个条件跳过包含所有空白单元格。我觉得值得分享。
答案4
COUNTIFS
如果您的条件中使用连接,则可以使用它。(在 Excel 2010 中确认)。
COUNTIFS(range1,a1,range2,b1,range3,c1,range4,d1)
变成
COUNTIFS(range1,a1 & "",range2,b1 & "",range3,c1 & "",range4,d1 & "")