如何对单元格内以|分隔的多个数值求和以得到指定输出结果
工作表竖线分隔数值求和解决方案
以下是不同Excel版本对应的实现方案,公式输入后下拉填充即可适配整列数据:
Excel 365/2021及以上版本
使用TEXTSPLIT函数拆分后直接求和,F列对应单元格公式为:=SUM(--TEXTSPLIT(E2,"|"))
- 核心逻辑:先按
|拆分单元格内容为多个独立数值文本,转换为数字格式后直接求和 - 如果你提供的示例中
10.00对应输出0为自定义规则(如单个数值大于阈值时返回0、仅多数值单元格求和等),可补充判断条件,比如仅多值时求和、单值为10时返回0的调整后公式:=LET(arr,--TEXTSPLIT(E2,"|"),IF(AND(COUNTA(arr)=1,arr=10),0,SUM(arr)))
旧版本Excel(2019及更早)
没有TEXTSPLIT函数可用FILTERXML配合SUMPRODUCT实现相同效果,公式为:=SUMPRODUCT(--FILTERXML("<t><s>"&SUBSTITUTE(E2,"|","</s><s>")&"</s></t>","//s"))
- 核心逻辑:将分隔符替换为XML标签构造标准XML结构,提取所有节点值转换为数字后求和,无需数组回车即可直接生效
内容的提问来源于stack exchange,提问作者Tncmk
相关产品推荐
相关产品推荐

