需先拆解再求和:一、SPLIT+SUM组合,如=SUM(SPLIT(A1,","));二、REGEXREPLACE预处理提取数字,如=SUM(VALUE(SPLIT(REGEXREPLACE(A1,"1",""),",")));三、ARRAYFORMULA批量处理整列。0-9, ↩

如果您在 Google 表格中有一个单元格包含逗号分隔的数值(如“10,20,30”),需直接对该单元格内所有数值求和,则不能使用常规加法函数,而需先按分隔符拆解再汇总。以下是实现该目标的多种公式写法:
一、使用 SPLIT 与 SUM 组合(基础可靠)
该方法利用 SPLIT 将文本按指定分隔符(如逗号)转为水平数组,再由 SUM 对非空数值项自动求和,兼容大多数含纯数字的场景。
1、假设原始数据位于 A1 单元格,内容为“12,34,56”,在空白单元格输入:
=SUM(SPLIT(A1,","))
2、若 A1 中存在首尾空格或逗号后带空格(如“12, 34 , 56”),SUM 可能因空格导致错误;此时应嵌套 TRIM 清理:
=SUM(SPLIT(TRIM(A1),","))
3、若 A1 含有非数字字符(如“12,abc,34”),该公式将返回错误;需配合 IFERROR 过滤异常项:
=SUM(IFERROR(VALUE(SPLIT(TRIM(A1),",")),0))
二、使用 REGEXREPLACE 预处理后求和(支持混合文本与数字)
当单元格中混杂文字与数字(如“销量:12,库存:34,缺货:56”),需提取全部数字并求和,此时正则预处理可绕过分隔符识别限制,直接捕获所有数值片段。
1、在空白单元格输入以下公式,提取所有连续数字并以逗号连接:
=SUM(VALUE(SPLIT(REGEXREPLACE(A1,"[^0-9,]",""),",")))
2、该公式中 REGEXREPLACE 将所有非数字且非逗号字符替换为空,保留数字与逗号结构,再经 SPLIT 和 VALUE 转换为数值数组,最后由 SUM 汇总。
3、若原始内容含负数(如“-12,34,-56”),需调整正则模式以保留负号:
=SUM(VALUE(SPLIT(REGEXREPLACE(A1,"[^-0-9,]",""),",")))
三、使用 ARRAYFORMULA + SPLIT 处理整列批量求和
当需要对 A 列全部单元格(A1:A100)逐行执行“分隔符拆分求和”,并一次性输出结果列(如 B 列),应使用 ARRAYFORMULA 封装,避免逐行复制公式。
1、在 B1 单元格输入以下公式,自动向下溢出计算每行对应和:
=ARRAYFORMULA(IF(A1:A100="",,SUMIF(SEQUENCE(1,100),"
2、更简洁稳妥的写法(推荐):
=ARRAYFORMULA(IF(A1:A100="",,MMULT(IFERROR(VALUE(SPLIT(A1:A100,",")),0),SEQUENCE(COLUMNS(SPLIT(A1:A100,",")),1,1,0))))
3、实际部署时,将公式中的 A1:A100 替换为实际数据范围,并确保右侧列有足够空白空间容纳 SPLIT 的横向溢出;否则可用 WRAPROWS 或 INDEX 限定宽度。
四、使用 QUERY + SPLIT 实现条件筛选后求和
当拆分后的各数值需按特定规则筛选(例如仅对大于 20 的值求和),QUERY 可在拆分后立即施加条件,无需辅助列。
1、在空白单元格输入以下公式,对 A1 拆分结果中所有 >20 的数值求和:
=SUM(FILTER(VALUE(SPLIT(TRIM(A1),",")),VALUE(SPLIT(TRIM(A1),","))>20))
2、若需兼容空值及错误项,增强容错:
=SUM(IFERROR(FILTER(VALUE(SPLIT(TRIM(A1),",")),VALUE(SPLIT(TRIM(A1),","))>20),0))
3、此结构可将比较条件替换为其他逻辑,如 VALUE(...)0 排除零值,或 ISNUMBER(VALUE(...)) 确保仅数值参与。









