如何在 Countifs 中排除空字符串

How to Exclude Empty String in Countifs

我有一个 excel sheet 有 2000 多行和 15 列。我需要根据其他列的条件计算特定列中的条目。这是 sheet:

的示例
  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 的结果。现在,如果列 E 中的空白单元格是空字符串 "",则上面的公式 returns 4,因为公式将 "" 视为与填充值相同.任何人都可以建议一个公式,在该公式中我将在我的 COUNTIF 条件中排除空字符串 "",这样即使列 E 中的空字符串,我的结果也是 3?

提前感谢您的帮助...

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

我认为对于您的示例数据,您希望 return“2”,对吧?无论如何,尝试:

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

考虑使用类似的东西:

=SUMPRODUCT(--(A2:A100="Apple")*(B2:B100="Amazon")*(C2:C100>100)*(D2:D100>2)*(E2:E100<>""))

SUMPRODUCT() 支持一种非常直观的方法来测试是否为空。

唯一有效的是第 16 行和第 21 行。

编辑#1:

参考资料如下:

Exceljet