google-sheets - Google 表格中的问题与 SUM、ARRAYFORMULA、SUMIF 和“不等于”运算符的组合
问题描述
编辑:读取“不等于”运算符不能与 SUMIF 一起使用。如果有人提供替代功能来获得我正在寻找的结果,我会留下这个问题。
我有一个公式,即 SUM 小时在一个月内用于两个项目。在 Sheet1 中,每一行是一个月内完成特定任务的小时数。与任务相关联的是相应的 ID。在 Sheet2 中,一些任务 ID 列在两列之一中,即 A 列和 B 列,对应于 ProjectA 和 ProjectB,因此对于每个项目,我都有与之相关的任务列表。在 Sheet3 中,公式汇总了与多个任务相关联的两个项目的工时,并排除了与项目无关的任务的工时。这有意义吗?公式如下所示:
=SUM(ARRAYFORMULA(SUMIF('Sheet1'!B5:B;"="&{Sheet2!A2:B};'Sheet1'!C5:C)))
这个公式工作得很好,并给出以下结果:
80:45:00(小时)
但是,当我尝试汇总与 ProjectA 或 ProjectB 无关的任务时,通过使用“不等于”运算符 (<>) 而不是“等于”运算符 (<>) 来排除工作时间与任一项目相关联的 ID 的任务,得到的公式:
=SUM(ARRAYFORMULA(SUMIF('Sheet1'!B5:B;"<>"&{Sheet2!A2:B};'Sheet1'!C5:C)))
根本没有提供预期的结果。
我得到:
167251:45:00
代替:
3:00:00 小时
(!)
可以在此处找到电子表格的副本。
一如既往的帮助将不胜感激。
解决方案
朱利安,试试
=sum(arrayformula(if(COUNTIF(livrables!$A$2:$D;'résumé'!$B$5:$B);0;'résumé'!C$5:C)))
您可以对 C7 使用相同的公式
=sum(arrayformula(if(COUNTIF(livrables!$A$2:$D;'résumé'!$B$5:$B);'résumé'!C$5:C;0)))
https://docs.google.com/spreadsheets/d/1h0daTbk3S8yIH48ijk250ZnxTIf7DoLO8SEyolaWrRs/edit?usp=sharing
解释:
Countif 用于比较数据,如果它们匹配,我在 C7 中取和,如果它们不匹配,我在 C8 中取和,这就是交换 0 和 sum 的原因。
参考:
推荐阅读
- cygwin - 如何删除cygwin挂载点
- python - 沿轴使用给定索引对多维 np.array 进行排序
- r - 使用 ggplot 在一个图中为具有不同标签的分组数据绘制两条线图
- javascript - Firebase 的 https 函数中可以使用通配符吗?或者如何在没有它的情况下复制数据库中的每个文档?
- java - 多模块项目:从父 pom 中排除依赖项
- pycharm - PyCharm chache 占用太多空间
- java - 如何在没有身份验证的情况下公开 Swagger UI?
- jquery - jQuery - 仅在移动设备上运行功能
- python - Trouble using Python ctypes to run C dll function (array output with unknown size)
- javascript - Angular 应用程序中的外部 JavaScript 库