如何在单个单元格中对某列所有行括号内的值求和?
实现C列公式括号内数值的批量求和
当然可以实现,以下是针对不同Excel版本的解决方案:
适用于Excel 365/2021(支持动态数组)
直接输入以下公式后回车即可:
=SUM(--IFERROR(MID(FORMULATEXT(C:C),SEARCH("(",FORMULATEXT(C:C))+1,SEARCH(")",FORMULATEXT(C:C))-SEARCH("(",FORMULATEXT(C:C))-1),0))
公式拆解:
FORMULATEXT(C:C):提取C列每个单元格的公式文本SEARCH("(",...)和SEARCH(")",...):定位括号的位置,计算出括号内数值的起止坐标MID(...):提取括号内的文本内容,--将文本转换为可计算的数值IFERROR(...,0):对无括号或格式不符的单元格返回0,避免求和出错SUM(...):对所有提取出的数值汇总求和
适用于旧版Excel(不支持动态数组)
需要指定具体的行范围(比如C1:C100),输入公式后按 Ctrl+Shift+Enter 触发数组计算:
=SUM(--IFERROR(MID(FORMULATEXT(C1:C100),SEARCH("(",FORMULATEXT(C1:C100))+1,SEARCH(")",FORMULATEXT(C1:C100))-SEARCH("(",FORMULATEXT(C1:C100))-1),0))
注意事项
- 上述公式默认每个单元格的公式只有一对括号,会提取第一对括号内的内容;如果存在多对括号,需要结合
TEXTSPLIT等函数进一步拆分处理。 - 确保C列单元格内是公式而非纯文本,
FORMULATEXT只能提取公式内容。
内容的提问来源于stack exchange,提问作者Bartek123
相关产品推荐
相关产品推荐

