使用RIGHT函数处理后Excel SUM函数返回0的问题求助
问题根源
你用的公式返回的是文本格式的数字——哪怕你改了单元格的显示格式为数字/常规,单元格里的内容本质还是文本,SUM函数会直接忽略文本值,所以返回0。
解决办法
1. 修改原公式,直接返回数值
在原公式外层套转数值的操作,比如用--(负负得正,强制转数值)或者VALUE()函数:
用--的版本(数组公式)
=--RIGHT(D2, LEN(D2) - MAX(IF(ISNUMBER(MID(D2, ROW(INDIRECT("1:"&LEN(D2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(D2))), 0)))
输入后按 Ctrl+Shift+回车(旧版Excel),新版Excel会自动识别数组公式。
用VALUE()的版本(数组公式)
=VALUE(RIGHT(D2, LEN(D2) - MAX(IF(ISNUMBER(MID(D2, ROW(INDIRECT("1:"&LEN(D2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(D2))), 0))))
同样需要按Ctrl+Shift+回车(旧版)。
2. 用新版Excel简化公式(推荐)
如果你用的是Excel 365/2021及以上版本,直接用TEXTBEFORE函数,一步到位移除右侧数字并转成数值:
=--TEXTBEFORE(D2, SEQUENCE(10,,0), -1)
这个公式不需要数组操作,直接回车就能用,返回的是纯数值,SUM可以直接计算。
3. 已生成文本列的补救操作
如果已经用原公式生成了整列文本,不想改公式的话,用下面的方法转数值:
- 选中目标列,点击「数据」选项卡→「分列」,直接点两次「完成」,系统会自动把文本数字转成数值;
- 或者在空白单元格输入
1,复制它,选中目标列,右键→「选择性粘贴」→选「乘」,文本数字会被强制转成数值。
内容的提问来源于stack exchange,提问作者Cameron Mah
相关产品推荐
相关产品推荐

