Google Sheet数组公式SUMIF仅在每日首次实例显示时间总和
修正后的Google Sheets数组公式
直接在目标展示列(如F列第2行单元格)输入以下公式,即可实现「仅在每个日期+分类组合的首次出现行展示当日累计时间总和,其余同组合重复行自动留空」的效果:
=ARRAYFORMULA(IF(C2:C="","",IF(MATCH(C2:C&D2:D, C2:C&D2:D, 0)=ROW(C2:C)-ROW(C2)+1, SUMIF(C2:C&D2:D, C2:C&D2:D, B2:B), "")))
实际展示效果参考:
逻辑拆解
- 基础判断:和原公式规则保持一致,对应行C列为空时直接返回空值,不触发计算
- 首次行判定:通过
MATCH定位每一行的「C列日期+D列分类」拼接值在全列中的首次出现位置,仅当当前行与首次出现位置的行偏移量一致时,才标记为需要展示累计值的行 - 求和规则:完全沿用原公式的匹配逻辑,以「日期+分类」拼接值为匹配键汇总B列的时间数值,不会改变原有计算口径
- 非首次出现的重复行,直接返回空字符串,满足展示要求
使用提示
- 公式输入后会自动通过数组溢出填充整列,无需手动向下拖拽公式
- 数据量较大时,可将全列引用(如
C2:C)替换为实际数据的最大行范围(如C2:C2000),减少无效计算,提升运行效率 - 公式可自动区分同日期下不同D列分类的累计值,不会出现不同分类的数值串行问题
内容的提问来源于stack exchange,提问作者Yvan L
相关产品推荐
相关产品推荐

