COUNTA(QUERY()) 没有产生预期的结果

COUNTA(QUERY()) does not produce the desired result

“镜像”sheet 包含数据。

“奖金”的 B 列sheet 计算专家在指定月份参与的项目数。

=COUNTA(query(mirror!$A:$B, "select B where 
A <= date'"&TEXT(EOMONTH($A6,0),"yyyy-mm-dd")&"' 
and
A >= date'"&TEXT($A6,"yyyy-mm-dd")&"'
ORDER BY B"))

“镜像”上没有 2020 年 12 月和 2021 年 1 月的项目。 counts 函数用 1 代替这几个月的“奖金”,尽管预期为 0。

我的脑袋已经坏了,不知道怎么克服。我将不胜感激。

Upd.“奖金”的 A 列 sheet 包含 8/1/2020、9/1/2020、10/1 形式的日期/2020等月初。 在“镜像”的 A 列 sheet,日期可以是 10/5/2020、10/31/2020,即不一定是月底。

您可以使用 SUMPRODUCT:

=SUMPRODUCT((MONTH(mirror!$A:$A)=MONTH(A2))*(YEAR(mirror!$A:$A)=YEAR(A2)))

COUNTA 将错误计为 1(因为它是“非空的东西”)。因此,如果您的 QUERY 什么也没找到,它将 return 一个错误——这将被视为“一件事”。

尝试将您的 QUERY 包装在您的 COUNTA 中的 IFERROR 中:

=COUNTA(IFERROR(QUERY(...)))