google-apps-script - 谷歌表格根据条件获取特定单元格范围的每日/每周计数总和
问题描述
我在 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 个工作日内取得的结果对每个人进行每周计数。不知道是否可以将某些内容添加到此查询中,但考虑是否有针对每日和每周计数的相同公式的解决方法。
提前致谢!
解决方案
您可以将表格附加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))
样本输出:
参考:
推荐阅读
- c# - 如何通过 LiteDB.LiteCollection 迭代大型 litedb 数据库文件中的特定键值
- azure - 部署 Microsoft Azure 的 FACE API 时如何修复错误
- webview - 如何从资产加载完整的网站?
- nutch - 如何解决运行 Nutch 1.15 ERROR fetcher.Fetcher - Fetcher 作业未成功,作业状态:FAILED,原因:NA 的此错误
- php - 回声问题,循环 4 次
- php - Amp PHP - 协作多任务/异步睡眠
- javascript - 将另一个网站添加为 serverMiddleware 的 Nuxt 模块
- android - React Native - Android 应用程序在后台重新启动
- php - 启用mysql允许php使用ubuntu服务器作为web服务器访问
- azure - 我如何知道哪个 pod 处理请求?