Showing Posts From

Excel

Excel 求和求出 #VALUE!?先看单元格是不是文本

Excel 里写: =SUM(VALUE(E5:E8))老版本直接 #VALUE!。原因是 VALUE 老版本只能吃单个单元格,不能吃区域——只有 Microsoft 365 / Excel 2021+ 的动态数组特性才让它自动对区域生效。 单元格已经是数字:直接 SUM =SUM(E5:E8)先分辨到底是数字还是文本:左对齐通常是文本,右对齐是数字 或者选中一个单元格看编辑栏——文本会显示 '123单元格是文本型数字:"--" 双负号 -- 会把文本转成数字,兼容所有 Excel 版本: =SUMPRODUCT(--E5:E8)SUMPRODUCT 天生支持数组运算,比 SUM 更宽容。 Microsoft 365 也能用: =SUM(--E5:E8) =SUM(VALUE(E5:E8))老版本上面这两个会挂,用 SUMPRODUCT 版本最稳。 带货币符号 / 千分位逗号 单元格长这样: $1,234.56 $789.00要先剥掉 $ 和 ,: =SUMPRODUCT(VALUE(SUBSTITUTE(SUBSTITUTE(E5:E8,"$",""),",","")))嵌套 SUBSTITUTE 依次替换,最外层 VALUE 转数字,SUMPRODUCT 一次性求和。 混合了数字和文本的列 只想对文本型数字求和,跳过其它文本: =SUMPRODUCT(IFERROR(VALUE(E5:E8), 0))IFERROR 把无法转换的当 0,避免整个公式失败。 一劳永逸:转成真数字 如果整列都是文本数字,可以一次性转过来:选中一个空单元格,输入 1,复制 选中要转的整列 右键 → 选择性粘贴 → 乘(Multiply)之后就是真数字,SUM 直接用。 一句话总结 老 Excel:SUMPRODUCT(--range)。新 Excel:SUM 直接吃。带货币符号:套两层 SUBSTITUTE 剥掉符号再求和。