Google Sheets实现ID含INV标记时对每第三列数值求和的公式方法
实现方案
直接使用多条件过滤求和即可,符合需求的公式如下:
=SUM(FILTER(A6:6, MOD(COLUMN(A6:6)-COLUMN(A6)+6,3)=0, ISNUMBER(SEARCH("INV", OFFSET(A6:6, 0, -2))) ))
逻辑说明
- 第一部分
MOD(COLUMN(A6:6)-COLUMN(A6)+6,3)=0完全沿用你原有的金额列筛选规则,定位到所有需要统计的金额单元格 - 第二部分新增ID匹配判断:
OFFSET(A6:6, 0, -2)取当前金额单元格左侧第2位的内容,也就是对应组的ID字段值SEARCH("INV", ...)匹配ID中是否包含"INV"字符,不区分大小写ISNUMBER(...)确认匹配成功,返回逻辑真
FILTER会筛选出同时满足两个条件的金额值,最后用SUM求和即可
优化版本(避免易失函数)
如果表格数据量较大,可替换为非易失的INDEX写法,运行性能更好:
=SUM(ARRAYFORMULA(IF( MOD(COLUMN(A6:6)-1+6,3)=0, IF(ISNUMBER(SEARCH("INV", INDEX(6:6, 1, COLUMN(A6:6)-2))), A6:6, 0), 0 )))
调整项
如果需要严格区分大小写匹配"INV",将公式中的SEARCH替换为FIND即可。
你提到的表格结构参考:
内容的提问来源于stack exchange,提问作者Mathieu Buchs
相关产品推荐
相关产品推荐

