下面的示例是我的电子表格的截断示例。
Name1
我想要统计每个人( - )在银行假日日期Name4
出现在该行中的次数。Out Of Hours
因此,在这个简化的例子中,我将寻找以下计数 -
- 姓名1: 0
- 姓名2: 1
- 姓名3: 0
- 姓名4:0
COUNTIF
我已经研究过、COUNTIFS
和的使用SUMIF
,但SUMIFS
我认为它们没有帮助。不过,我希望可以组合使用这些函数来获得所需的计数。
太阳 | 星期一 | 星期二 | 星期三 | 星期四 | 周五 | |
---|---|---|---|---|---|---|
2023 年 1 月 1 日 | 2023 年 2 月 1 日 | 2023 年 3 月 1 日 | 2023 年 4 月 1 日 | 2023 年 5 月 1 日 | 2023 年 6 月 1 日 | |
名称1 | 出去 | 出去 | 出去 | 出去 | 出去 | |
名称2 | ||||||
名称3 | 出去 | 出去 | ||||
名称4 | 出去 | 出去 | 出去 | 出去 | 出去 | |
工作时间以外 | 名称2 | 名称2 | 名称2 | 名称2 | 名称2 | 名称2 |
银行假期 | ||||||
2023 年 2 月 1 日 |
答案1
为什么说“我不相信他们能帮忙。“?
获取Name2
第 8 行的计数:=COUNTIF($B$8:$G$8,"Name2")
在您的示例中将返回 6。
将 替换$B$8:$G$
为您要统计名称的正确范围。
您可以创建一个包含所有要检查的名称的表格,然后将上述内容重写为=COUNTIF($B$8:$G$8,A4)
,(因为您的“Name1”在A4
)然后将其向下拖动以替换A4
为A5
,A6`...以计算所有名称:
如果你有很多行带有'工作时间以外',你可以尝试这个公式:
=SUM(IF(IF(A3:A14="Out Of Hours",B3:G14)="Name2",1,0))
- 内部 if:检查 A 列中是否有“非工作时间”的行(3 至 14),如果为真,则返回 B 列至 G 列中的行,否则为 0
- 然后检查上面的行是否有“名称 2”,如果为真则返回 1
- 然后把上面的内容相加
答案2
虽然COUNTIFS()
被使用过,SUPPRODUCT()
但却缺少了一块。
$B$2:$G$2
代表日期。$A10:$A18
代表银行假日日期(仅A10
在示例中显示)。$B$7:$G$7
代表在“非工作时间”工作的人$A3
代表“Name1”
此公式将被复制到四个单元格,每个单元格代表一个名称。
=SUMPRODUCT(COUNTIFS($B$2:$G$2, $A10:$A18, $B$7:$G$7, $A3)))
附加单元格现在显示所需的数量。
| Name1 | 0 |
| Name2 | 1 |
| Name3 | 0 |
| Name4 | 0 |