首页 > 解决方案 > 如何在不同大小范围内基于多个条件使用 COUNTIFS?

问题描述

我有一个考勤跟踪器,我试图在其中记录每天的每种员工类型。

我有一个摘要页面(sheet1),我希望根据单元格 C2 中的日期计算每种类型(A、B、C、D、E)的计数,无论它们在 sheet2 上是否有当天的 X。

使用=COUNTIF(FILTER(Sheet2!$A$5:$GG$969,Sheet2!$A$5:$GG$5=$C$2),"X")我可以根据单元格 C2 中的日期获得总共“X”。

但是,我无法让公式计算每种员工类型。

=COUNTIFS(Sheet2!A5:AM31,A7,(FILTER(Sheet2!A5:AM31=C2)),"X")

这给了我一个错误“COUNTIFS 的数组参数大小不同。”

我不确定如何配置它。以下是我的样本表的链接:

感谢任何帮助!

https://docs.google.com/spreadsheets/d/1OdJTwbFsNcR1hO1qzMBGUY4iXcWgDwIAJmBAVE9cs0k/edit?usp=sharing

标签: arraysgoogle-sheets

解决方案


我认为这会奏效,但会拖累其他组。

=COUNTIFS(Sheet2!A$6:A$31,A7,FILTER(Sheet2!$6:$31,Sheet2!$5:$5=C$2),"X")

但是,我鼓励您查看此示例表(您的副本),其中我添加了一个名为 MK.Help 的新选项卡,旨在隐藏,但用作一种帮助选项卡来制作各种东西你可能想做得更容易。包括你问的计数。

它在单元格 A2 中有一个公式,您可以在其中看到它的作用。

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(Sheet2!C5:5&"|"&Sheet2!A6:A31&"|"&Sheet2!B6:B31&"|"&Sheet2!C6:31),"|",0,0),"where Col3<>'' order by Col1"))

推荐阅读