Excel多条件求和公式求助:按学生与时段统计缺勤总天数
Excel多条件求和公式求助:按学生与时段统计缺勤总天数
嗨,我来帮你搞定这个Excel公式的问题!你现在需要的是多条件求和,而不是之前用的计数——因为你要把F列里的缺勤天数加总,而不是统计有多少条缺勤记录。
看你给出的需求:要针对某个学生(A列)、某个时段(B列,比如6时段),把C列标记为“Unexcused”或“Absent Parent Contact”的F列天数全部加起来,对吧?
给你两个简单好用的方案:
方案1:用两个SUMIFS相加(直观易懂,适合新手)
直接把两种缺勤类型的求和结果加起来,公式写在K3单元格的话:
=SUMIFS($F$3:$F$1801,$A$3:$A$1801,A3,$B$3:$B$1801,B3,$C$3:$C$1801,"Unexcused") + SUMIFS($F$3:$F$1801,$A$3:$A$1801,A3,$B$3:$B$1801,B3,$C$3:$C$1801,"Absent Parent Contact")
- 前半段SUMIFS:统计当前学生、当前时段下,“Unexcused”类型的缺勤天数总和
- 后半段SUMIFS:统计同一学生同时段下,“Absent Parent Contact”类型的缺勤天数总和
- 两者相加就是你要的总缺勤天数,像你说的JOHN DOE在6时段的3天+2天,结果就是5天,完全符合你的预期。
方案2:用SUMPRODUCT函数(更简洁,一次搞定多条件)
如果觉得写两个SUMIFS太啰嗦,也可以用SUMPRODUCT一步到位:
=SUMPRODUCT(($A$3:$A$1801=A3)*($B$3:$B$1801=B3)*((C$3:C$1801="Unexcused")+(C$3:C$1801="Absent Parent Contact"))*$F$3:$F$1801)
这个公式里的每个括号都是一个条件:
- 匹配当前行的学生姓名
- 匹配当前行的时段
- 匹配两种缺勤类型中的任意一种
- 最后乘以F列的天数并求和,就得到了总天数
复用公式的小技巧
- 把公式往下拖动,Excel会自动对应每行的A3(学生)和B3(时段),不用手动改单元格
- 如果要单独给1-5时段做统计,只需要把公式里的
B3改成固定的时段值就行,比如要统计6时段的所有学生,就把$B$3:$B$1801,B3改成$B$3:$B$1801,6(如果时段是数字)或者$B$3:$B$1801,"6"(如果是文本)
之前你用的COUNTIFS是统计有多少条缺勤记录,而这个求和公式才是真正把天数加起来,正好满足你要的K列效果~
备注:内容来源于stack exchange,提问作者Hunter1979
相关产品推荐
相关产品推荐

