首页 > 解决方案 > 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 日之间

2020 年 08 月 8 日至 2020 年 08 月 15 日之间

2020 年 08 月 15 日至 2020 年 08 月 22 日之间

公式的下一部分会整理时间,但不整理日期之间的时间 - 它正在整理特定名称的所有时间数据。本质上,“Joe”显示为 300,而不是 200 和 100 的两个单独实例:

=SUMIF(
'DATA'!$a:$a, $a2,'DATA'!c:c
)

NB 不得不在这里做一个简单的例子,因为我的 excel 文件充满了 GDPR。

谢谢你的寻找,山姆

标签: excel

解决方案


我是否正确理解您的问题?

这表示,如果返回的计数大于 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)


推荐阅读