我想根据多个可选条件计算 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

