Google Sheets如何实现仅替换内容为单独“-”的单元格?
优化方案说明
你当前使用的公式存在逻辑缺陷:SUBSTITUTE 是全局匹配替换字符,会把 -090 这类包含减号但不是单独减号的内容错误修改为 -0090,不符合你仅替换单独 - 行的需求。
更简单且完全符合需求的公式如下,直接对单元格做全内容精确匹配即可:
=ARRAYFORMULA(IF(LEN('live data'!C3:C), IF('live data'!C3:C="-", 0, VALUE('live data'!C3:C)),))
如果需要和你原公式的输出完全一致(即单独 - 替换为 -0 后再转数值,最终结果同样为0),也可以写成:
=ARRAYFORMULA(IF(LEN('live data'!C3:C), VALUE(IF('live data'!C3:C="-", "-0", 'live data'!C3:C)),))
优化点
- 逻辑直观,仅匹配内容完全为
-的行做替换,不会误伤其他含减号的正常数据 - 减少了
SUBSTITUTE函数调用,运行效率更高
内容的提问来源于stack exchange,提问作者Amod Ajit Karmarkar
相关产品推荐
相关产品推荐

