首页 > 解决方案 > 谷歌表格根据条件获取特定单元格范围的每日/每周计数总和

问题描述

我在 Google Sheet 中有一组数据,如下所示:

行号 一个 C D
- 数数 人名 日期 地位
1 163 美国广播公司 03-07-2021 1. 完成
2 26 美国广播公司 03-07-2021 2. 进行中
3 35 美国广播公司 03-07-2021 2. 进行中
4 21 XYZ 03-07-2021 1. 完成
5 0 XYZ 03-07-2021 1. 完成
6 17 美国广播公司 04-07-2021 1. 完成
7 0 美国广播公司 04-07-2021 1. 完成
8 267 美国广播公司 04-07-2021 1. 完成
9 29 XYZ 04-07-2021 2. 进行中
10 42 XYZ 04-07-2021 1. 完成

对于这些数据,我想要一个跟踪器,它显示列中的所有人员以及行中的所有日期(因为我们必须每天添加日期)以及上述数据中每个日期的计数列的总和,并且仅适用于那些标记为“1. 完成”。所以我准备了这个跟踪器,下面是根据上面的数据需要的结果:

行号 一个
日期 美国广播公司 XYZ
03-07-2021 163 21
04-07-2021 284 42

我已经通过查询收到了解决方案,感谢这里的人!解决方案 - =QUERY(A:D, "select C,sum(A) where D start with '1' group by C pivot B", 1)

现在,我实际上需要根据每周 5 个工作日内取得的结果对每个人进行每周计数。不知道是否可以将某些内容添加到此查询中,但考虑是否有针对每日和每周计数的相同公式的解决方法。

提前致谢!

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


您可以将表格附加WEEKNUM(C:C)到该列并按该列分组以获取每周计数:

=ARRAYFORMULA(QUERY({A:D,IFERROR(WEEKNUM(C:C),"Week Num")}, "select Col5,sum(Col1) where Col4 starts with '1' group by Col5 pivot Col2", 1))

如果只需要周一到周五的数据,可以追加dayofweek()查询条件:

=ARRAYFORMULA(QUERY({A:D,IFERROR(WEEKNUM(C:C),"Week Num")}, "select Col5,sum(Col1) where Col4 starts with '1' and dayofweek(Col3) > 1 and dayofweek(Col3) < 7 group by Col5 pivot Col2", 1))

样本输出:

在此处输入图像描述

参考:

周数()

谷歌查询语言


推荐阅读