COUNTIFS(/ w多行和多标准)

时间:2018-07-20 18:05:36

标签: excel database sum

如果要使用countifs满足条件,我正在制定一个公式来计算数量或单元格数。

我正在寻找具有特定[位置],[城市]和[事件]的符合[数据验证]要求的事件数。

示例如下:

Name | Location | City | Event | Event Date | Data Validation

IE:位于位置80292(包括城市88850、00000和“”)的马特有2个[日期已验证] BBQ [事件]。

我想出了以下代码来对所有这些没有过滤器的代码进行计数:

=SUM(COUNTIFS(Table2[LOCATION],"80292"*OR(Table2[CITY]="",Table2[CITY]="88850",Table2[CITY]="00000",Table2[EVENT]="BBQ"),Table2[DATE VALIDATE],"1"))

此公式返回一个出色的编号。在812行数据中,它返回的数字是977。正确答案应该是600。

有人可以协助纠正我必须满足我的意图的公式吗?

谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您不只是从数据中制作数据透视表的任何原因,在位置,城市,事件上添加切片器,将事件计数添加到“值”区域,然后使用切片器仅显示要计数的事物?数据透视也更容易进行故障排除...如果您获得与现在相同的答案,则可以在ROWS区域中添加一些其他字段,这可能有助于您查看发生的情况。

如果您不熟悉如何使用数据透视表,请在VBA to copy data if multiple criteria are met上查看我的答案

答案 1 :(得分:0)

一个观察结果:

  

公式正在返回突出编号。在812行数据中,它返回的数字为977。”

有些考虑的值可能不在所需的过滤条件下,例如带有空格的“ 88850” ...使用value()和trim()可能有助于捕获这些值。

由于您只需要条件的出现次数,因此不需要sum()。 countifs()或countif()就足够了。

您定义了标准:"80292"*OR(Table2[CITY]="",Table2[CITY]="88850",Table2[CITY]="00000",Table2[EVENT]="BBQ"

可以分为:

= COUNTIFS(Table2[CITY],"",Table2[LOCATION],"80292",Table2[DATE VALIDATE],"1",Table2[EVENT],"BBQ") 
     + COUNTIFS(Table2[CITY],"",Table2[LOCATION],"80292",Table2[DATE VALIDATE],"1",Table2[EVENT],"BBQ")
     + COUNTIFS(Table2[CITY],"88850",Table2[LOCATION],"80292",Table2[DATE VALIDATE],"1",Table2[EVENT],"BBQ")
     + COUNTIFS(Table2[CITY],"00000",Table2[LOCATION],"80292",Table2[DATE VALIDATE],"1",Table2[EVENT],"BBQ")

希望有帮助。 (: