选择多列范围时,Countifs不起作用

时间:2019-04-08 12:22:16

标签: excel

我需要一个count if函数来对满足特定条件的单元格进行计数。这应该通过countifs完成。公式如下: =COUNTIFS(Orders!D:D;"*Ecolab*";Orders!B:B;">=01/01/2019";Orders!U:U;">=36";Orders!K:Q;">=1")此公式为我返回一个值类型错误。

在我介绍最后一个条件orders!K:Q;">=1"之前,此公式非常有效 我想要一个公式,用来计算单元格中是否存在Ecolab这个词;如果日期晚于或等于01/01/2019;如果列U的个数大于或等于36,并且从列K到列Q的行中的单元格中至少有一个“ 1”。我可以通过轻松地将计数复制几次来实现此目的(即{ {1}} 但是我宁愿不要包含这么长的公式,因为它会给excel工作表的最终用户造成困惑

2 个答案:

答案 0 :(得分:0)

根据我上面的评论,您可以使用SUMPRODUCT(避免使用整列)或具有OFFSET的数组,如下所示:

=SUM(COUNTIFS(Orders!D:D;"*Ecolab*";Orders!B:B;">=01/01/2019";Orders!U:U;">=36";OFFSET(Orders!J:J;0;{1;2;3;4;5;6;7});">=1"))

答案 1 :(得分:0)

If the count for K:Q should be 1 when there may be more than one cell greater or equal to 1 in a single row then you need to apply OR criteria in a SUMPRODUCT.

SUMPRODUCT formulas should not use full column references; there is too much wasted calculation. The following is for rows 2:99; adjust for your own use.

=SUMPRODUCT(--ISNUMBER(SEARCH("ecolab", Orders!D2:D99)),
            --(Orders!B2:B99>=DATE(2019, 1, 1)),
            --(Orders!U2:U99>=36),
            SIGN((Orders!K2:K99>=1)+(Orders!L2:L99>=1)+(Orders!M2:M99>=1)+(Orders!N2:N99>=1)+(Orders!O2:O99>=1)+(Orders!P2:P99>=1)+(Orders!Q2:Q99>=1)))