使用COUNTIFS或dcounta而不是多个COUNTIF

时间:2017-08-05 06:55:08

标签: google-sheets

在我们的员工时间表中,员工可以进行“A”班次(从上午9点开始)“B”班次(从上午10:30开始)等。 我需要知道员工总共有多少班次,所以我现在使用的是COUNTIF多次计算一系列单元格中几个参数的呈现

=countif(D8:BM8;A43)+countif(D8:BM8;A44)+countif(D8:BM8;A45)+countif(D8:BM8;A46)++countif(D8:BM8;A47)

当字段A43包含“A”字段A44时,“B”等等。

这很完美,但是,我希望有一个更聪明的方法来做到这一点,所以我尝试使用“COUNTIFS”,但结果总是0,我找不到原因

=COUNTIFS(D8:BM8;A43;D8:BM8;A44;D8:BM8;A45;D8:BM8;A46;D8:BM8;A47)

如果看起来所有参数都用逻辑来检查,但是我需要一个逻辑,在这种情况下或者是一个带有dcounta的解决方案

1 个答案:

答案 0 :(得分:1)

你得到的是0,因为没有符合所有条件的单元格。 相反,也许尝试像

这样的东西
=sum(ArrayFormula(--regexmatch(D8:BM8; textjoin("|"; 1; A43:A47))))

对于D8中的所有单元格,Regexmatch返回一个布尔值:BM8(如果找到匹配则为true,否则为false)。这些布尔值转换为1和0(参见正则表达式前面的 - )。然后将所有这些值相加。