1

我想根据多个可选条件计算 excel 中的行数。我用的是COUNTIFSF函数,它可以工作,但是随着条件的增长,excel公式需要考虑所有可能的组合,使得公式非常大。我想知道是否有更好的方法来做到这一点。

这是两个过滤器(每列一个)的示例,在这两种情况下,我想考虑它们中的每一个都可以是可选的。它由值表示:ALL在每个单元格上:

使用两个可选过滤器进行采样

我对单元格使用以下公式C10

=IF(
  AND(B1<>"ALL", B2<>"ALL"), COUNTIFS(TB[Col1],B1, TB[Col2],B2), 
    IF(AND(B1<>"ALL", B2="ALL"), COUNTIFS(TB[Col1],B1,TB[Col1],"*"), 
      IF(AND(B1="ALL", B2<>"ALL"), COUNTIFS(TB[Col1],"*", TB[Col1],B2), 
      COUNTIFS(TB[Col1],"*", TB[Col1],"*"))))

TB我创建的 excel 表格对象在哪里

如果我将值分配ALL给两个过滤器,它会计算给定列的所有行,例如,Filter1=ALLand的场景Filter2=ALL将返回 6 和 for:Filter1=A并将Filter2=ALL返回值:2

如您所见,添加另一个过滤器和列将需要 8 种可能的组合来评估。在我的真实示例中,我需要 4 个过滤器,因此该解决方案不会升级。

另一种解决方法是添加额外的不必要的列,指示根据过滤器的值考虑哪些单元格 (0, 1)。这意味着每个过滤条件都有一个额外的列。我想知道是否有更简单的方法可以做到这一点,而不使用数据透视表。

注意:添加文本表示以方便在 excel 中重现它:

Filter1 ALL     Col1    Col2
Filter2 ALL     A       AA
                B       BB
                C       CC
                D       DD
                A       AA
                D       DD      
4

1 回答 1

2

IFs 放入COUNTIFS

=COUNTIFS(TB[Col1],IF(B1="ALL","*",B1),TB[Col2],IF(B2="ALL","*",B2))

在此处输入图像描述

于 2020-07-10T20:06:46.533 回答