excel - Excel SUMIF 和 COUNTIFS
问题描述
我正在尝试结合两个工作功能:
=COUNTIFS(
'DATA'!$P:$P, $B5, //P contains a list of names; B is a name
'DATA'!$O:$O, ">="&AG$3, //O contains a list of dates; AG3 is a date
'DATA'!$O:$O, "<"&AJ$3 //O contains a list of dates; AJ3 is a date, one week in advance of AG3
)
=SUMIF(
'DATA'!$P:$P, $B5,'DATA'!N:N //P contains a list of names; B is a name; N are a list of times
)
如何在分别来自 AJ 和 AG 的两个日期之间添加基于名称(来自 B)的时间列表(来自 N)?
编辑:很抱歉回复晚了,我在一所有自闭症学生的学校工作,时间不是奢侈品。
希望这是有道理的:
数据表
A |B |C
NAME |DATE |TIME
Joe |2020 08 02 |190
Sarah |2020 08 05 |80
Sarah |2020 08 06 |10
Joe |2020 08 06 |10
Brian |2020 08 09 |100
Joe |2020 08 09 |100
Sarah |2020 08 16 |10
输出表
A | B | C | D
NAME | 2020 08 01 | 2020 08 08 | 2020 08 15
Joe | 200 | 100 |
Sarah | 90 | | 10
Brian | | 100 |
我希望输出表计算输出表中第一行日期之间的总时间(来自数据表)。例如,Joe 在 2020 08 01 和 2020 08 08 之间有 200 个,在 2020 08 08 和 2020 08 15 之间有 100 个
这部分公式在日期之间计算 - 这有效,我需要:
=COUNTIFS(
'DATA'!$a:$a, $a2,
'DATA'!$b:$b, ">="&b$1,
'DATA'!$b:$b, "<"&c$1
)
2020 年 08 月 1 日至 2020 年 08 月 08 日之间
- 乔有 2 个实例
- 莎拉有 2 个实例
2020 年 08 月 8 日至 2020 年 08 月 15 日之间
- 乔有 1 个实例
- 布赖恩有 1 个实例
2020 年 08 月 15 日至 2020 年 08 月 22 日之间
- 莎拉有 1 个实例
公式的下一部分会整理时间,但不整理日期之间的时间 - 它正在整理特定名称的所有时间数据。本质上,“Joe”显示为 300,而不是 200 和 100 的两个单独实例:
=SUMIF(
'DATA'!$a:$a, $a2,'DATA'!c:c
)
NB 不得不在这里做一个简单的例子,因为我的 excel 文件充满了 GDPR。
谢谢你的寻找,山姆
解决方案
我是否正确理解您的问题?
这表示,如果返回的计数大于 0,则求和,否则返回 0。
=IF(COUNTIFS('DATA'!$P:$P, $B5, 'DATA'!$O:$O, ">="&AG$3, 'DATA'!$O:$O, "<"&AJ$3)>0, SUMIF('DATA'!$P:$P, $B5, 'DATA'!N:N), 0)
推荐阅读
- pentaho-report-designer - pentaho 报表设计器:添加参数
- encryption - 引起:java.lang.NoSuchFieldError: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
- java - Why is withRegion() of AmazonSNSClientBuilder not visible?
- css - 如何解决这个 Safari 显示完全合理的文本的问题?
- node.js - Firestore 是在离线模式下使用 Node.JS 的好选择吗?
- c# - 添加指示从哪个方法调用日志记录方法的日志行
- jquery - ajax看不到函数?
- laravel - 使用 Laravel API 和 Vue.js 在 SPA 中注销后第二次登录时出现 419 错误
- c - TCP窗口全STM32
- vb.net - 将新行添加到未绑定的 datagridview