Google Sheets公式优化咨询:单元格含$5返回5否则返回0
优化方案推荐
以下几个公式都能实现需求,比你当前的写法更简洁:
方案1:利用逻辑值转数字
=--ISNUMBER(SEARCH("$5",N25))*5原理:
SEARCH("$5",N25)找到目标内容返回位置,找不到则返回错误;ISNUMBER()将结果转换为布尔值(找到返回TRUE,没找到返回FALSE);--把布尔值转成1或0,最后乘以5直接得到5或0。方案2:简化IF嵌套逻辑
=IF(ISNUMBER(SEARCH("$5",N25)),5,0)原理:用
ISNUMBER()直接判断SEARCH的结果是否有效(即是否找到"$5"),有效返回5,否则返回0。省去了原公式里多余的IF(search(...)>0)和IFERROR,因为ISNUMBER会自动处理SEARCH报错的情况(找不到时SEARCH返回错误,ISNUMBER直接返回FALSE)。方案3:正则匹配实现
=IF(REGEXMATCH(N25,"\$5"),5,0)原理:
REGEXMATCH()用正则表达式匹配单元格内容里的"$5"(注意$在正则中是特殊字符,需要加反斜杠\转义),匹配成功返回TRUE,否则返回FALSE,再通过IF返回对应数值。
内容的提问来源于stack exchange,提问作者shenkwen
相关产品推荐
相关产品推荐

