You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel函数统计值在超级列组中的出现频次并计算考勤缺勤天数

如何用Excel函数统计值在超级列组中的出现频次并计算考勤缺勤天数

嗨,我来帮你搞定这个Excel统计问题!你的需求其实可以拆成两步:先算出每个「超级列」(也就是考勤里的每一天)里目标值的出现次数,再统计有多少个超级列达到了你设定的标准(比如缺勤4节及以上算全天缺勤)。咱们一步步来拆解:

一、先解决抽象场景的统计逻辑

你提到的抽象问题里,要统计每个超级列中"1"的出现次数,再数有多少个超级列满足「出现次数≥2」的条件。以你给的case1为例,超级列y和z符合要求,结果是2。这里用COUNTIF+SUMPRODUCT的组合就能轻松搞定:

  1. 单个超级列的频次统计:用COUNTIF(超级列范围, "1")就能算出该组里"1"的数量。比如超级列x对应A2:C2,那就是COUNTIF(A2:C2, 1)。
  2. 统计符合条件的超级列数量:用SUMPRODUCT把每个超级列的判断结果(是否满足次数≥2)转成1/0后相加。公式示例:
    =SUMPRODUCT(--(COUNTIF(A2:C2,1)>=2), --(COUNTIF(D2:F2,1)>=2), --(COUNTIF(G2:I2,1)>=2))
    
    这里的--是把Excel的布尔值(TRUE/FALSE)强制转换成1/0,SUMPRODUCT会自动把所有符合条件的1加起来,最终得到你要的数量。

二、落地到考勤场景的实际用法

你的真实需求是统计学生的全天缺勤天数(一天内缺勤≥4节就算全天缺勤),咱们把逻辑直接套进去:

假设你的考勤表结构是:

  • 每一行对应一个学生
  • 周一的8节课列是B2:I2,周二是J2:Q2,周三是R2:Y2,以此类推
  • "x"代表缺勤,"."代表出勤

步骤1:计算单天缺勤次数

用COUNTIF统计某天的缺勤数,比如周一的缺勤次数:

=COUNTIF(B2:I2, "x")

步骤2:统计全天缺勤的天数

把每天的缺勤判断结果用SUMPRODUCT累加,公式示例(以3天为例):

=SUMPRODUCT(--(COUNTIF(B2:I2,"x")>=4), --(COUNTIF(J2:Q2,"x")>=4), --(COUNTIF(R2:Y2,"x")>=4))

如果有更多天数,只需要继续追加--(COUNTIF(对应天的列范围,"x")>=4)即可。

进阶技巧:批量处理多组超级列

如果你的超级列数量很多(比如一整个学期的天数),可以用OFFSET函数批量生成每个超级列的范围,避免重复写COUNTIF。假设每个超级列是8列,从B列开始共5天,公式如下(旧版Excel需要按Ctrl+Shift+Enter数组输入,新版直接回车即可):

=SUMPRODUCT(--(COUNTIF(OFFSET(B2,0,(ROW(INDIRECT("1:5"))-1)*8,1,8),"x")>=4))

这里ROW(INDIRECT("1:5"))生成1到5的序列,乘以8就是每个超级列的起始偏移量,OFFSET会自动定位到每天的8节课范围,再统一判断是否满足缺勤≥4的条件,最后累加结果。

备注:内容来源于stack exchange,提问作者Nils L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:13:06