首页 > 解决方案 > 如何在 Countifs 中排除空字符串

问题描述

我有一个 2000+ 行和 15 列的 excel 表。我需要根据其他列的条件来计算某一列中的条目。这是工作表的示例:

  A    |     B    |    C    |   D   |     E
-------------------------------------------------
Fruit  |  Origin  |  Price  |  Qty  |  Feedback
-------------------------------------------------
Apple  |  Amazon  |   100   |   4   |    Great
Banana |  India   |   100   |   1   |
Orange |  Africa  |   200   |   2   |    Good
Apple  |  Amazon  |   300   |   5   |
Guava  |  India   |   100   |   1   |    Great
Banana |  India   |   400   |   5   |
Orange |  India   |   200   |   6   |
Apple  |  Amazon  |   100   |   8   |    Good
Kiwi   |  Africa  |   300   |   5   |
Banana |  Africa  |   500   |   4   |
Apple  |  Amazon  |   100   |   1   |    Good
Orange |  Amazon  |   300   |   5   |
Kiwi   |  India   |   200   |   4   |
Guava  |  India   |   100   |   1   |    Good
Apple  |  Amazon  |   300   |   5   |    Good
Banana |  Africa  |   100   |   4   |
Apple  |  Amazon  |   200   |   1   |    Great
Guava  |  India   |   200   |   5   |
Orange |  Amazon  |   300   |   1   |    Good
Apple  |  Amazon  |   200   |   5   |    Good

现在我需要获得苹果水果的反馈数量,其​​来源为亚马逊,价格大于 100,数量大于 2。所以我的公式如下:

=COUNTIFS(A:A, "Apple", B:B, "Amazon", C:C, ">100", D:D, ">2")

现在我想添加另一个条件来获得已填充(非空)的反馈,所以我的公式如下:

=COUNTIFS(A:A, "Apple", B:B, "Amazon", C:C, ">100", D:D, ">2", E:E, "<>")

理想情况下,上述公式将产生3. 现在如果 Column 中的空白单元格E是空字符串"",则上面的公式返回4,因为公式将""其视为填充值。谁能建议一个公式,在其中我将排除""COUNTIF 条件中的空字符串,以便我的结果3与 Column 中的空字符串一样E

提前感谢帮助...

标签: excelexcel-formulacountif

解决方案


很好的小问题,确实是一个令人讨厌的问题。COUNTIFS()确实支持通配符。一种 ”?” 代表任何单个字符,而“*”代表任何 0+ 个字符。因此将这两个通配符组合成“?*”,我们告诉函数测试单元格是否至少包含一个字符(可能更多)。有趣的是,零宽度字符串=""不会由此触发,因为根据定义(并由其名称暗示)它们确实是宽度字符串。

我认为使用您的示例数据,您希望返回“2”,对吗?无论如何,尝试:

=COUNTIFS(A:A,"Apple",B:B,"Amazon",C:C,">100",D:D,">2",E:E,"?*")

在此处输入图像描述


推荐阅读