如何检测Excel单元格是否执行SUBSTITUTE并显示自定义未执行警告?
实现方法
完全可行,你可以通过IF函数结合SUMPRODUCT+ISNUMBER+SEARCH的组合来实现需求,具体公式如下:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH({35500000,28700000,23500000,19900000,37500000,30700000,21400000},F11)))>0, SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F11,35500000,38000000),28700000,31600000),23500000,25000000),19900000,20200000),37500000,38000000),30700000,31600000),21400000,20200000),23500000,25000000), "35 not found. check your SUBSTITUIONS")
公式说明
- 判断逻辑部分:
SUMPRODUCT(--ISNUMBER(SEARCH({...},F11)))>0SEARCH({...},F11):检查F11单元格内容是否包含大括号内的任意一个指定数字,返回对应的位置或错误值ISNUMBER(...):将有效位置转换为TRUE,错误值转换为FALSE--:将布尔值转换为1或0SUMPRODUCT(...):对所有转换后的数值求和,结果大于0则表示F11包含至少一个需要替换的数字
- 执行替换部分:保留你原有的嵌套
SUBSTITUTE公式,当判断条件成立时执行替换操作 - 警告文本部分:当判断条件不成立(即F11不包含任何指定数字)时,显示你自定义的警告内容
额外优化提示
你的原公式中存在重复的替换规则(如23500000→25000000出现了两次),删除重复项后不影响最终替换效果,简化后的替换部分如下:
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F11,35500000,38000000),28700000,31600000),23500000,25000000),19900000,20200000),37500000,38000000),30700000,31600000),21400000,20200000)
内容的提问来源于stack exchange,提问作者Taimaishoo
相关产品推荐
相关产品推荐

