Excel函数故障:首行结果正常,下拉填充返回#VALUE!错误
解决Excel公式下拉填充返回#VALUE!错误的问题
问题原因
你使用的FIND函数有个特性:当目标单元格中不存在指定文本时,它会直接返回#VALUE!错误,而非预期的0或其他值。首行公式正常是因为B3单元格恰好包含第一个关键词Drummondville,但下拉填充后,只要某行的B列单元格不包含这个关键词,第一个FIND就会报错,导致整个公式返回错误。
修正后的公式
方案1:区分大小写匹配(保留FIND)
=IF(ISNUMBER(FIND("Drummondville",B3)),"Drummondville",IF(ISNUMBER(FIND("Saint-Germain-de-grantham",B3)),"Saint-Germain-de-grantham",IF(ISNUMBER(FIND("Saint-cyrille-de-wendover",B3)),"Saint-cyrille-de-wendover","")))
方案2:不区分大小写匹配(用SEARCH替代FIND)
如果不需要严格区分关键词的大小写,可使用SEARCH函数替代FIND:
=IF(ISNUMBER(SEARCH("Drummondville",B3)),"Drummondville",IF(ISNUMBER(SEARCH("Saint-Germain-de-grantham",B3)),"Saint-Germain-de-grantham",IF(ISNUMBER(SEARCH("Saint-cyrille-de-wendover",B3)),"Saint-cyrille-de-wendover","")))
原理说明
ISNUMBER函数会判断FIND/SEARCH的返回值是否为有效数字:
- 找到文本时,
FIND/SEARCH返回文本所在的位置数字,ISNUMBER返回TRUE,触发对应的关键词输出; - 找不到文本时,
FIND/SEARCH返回错误值,ISNUMBER返回FALSE,公式自动进入下一个条件判断,避免直接报错。
内容的提问来源于stack exchange,提问作者m3n4c3d
相关产品推荐
相关产品推荐

