Excel中MATCH函数匹配数字失效问题求助
MATCH函数匹配数字型数据通配符失效的解决方法
问题原因
Excel的MATCH函数使用通配符(*)进行模糊匹配时,仅对文本型数据生效。当A1单元格输入的是纯数字(如123456),Excel会自动将其识别为数值型数据,此时通配符的模糊匹配逻辑无法作用在数值上,导致返回#N/A错误。
解决方法
方法1:用TEXT函数转换数值为文本后匹配
使用TEXT函数将A1的数值转换为文本格式,再执行通配符匹配,公式如下:=MATCH("*"&B1&"*",TEXT(A1,"0"),0)该公式会先把A1的数值转成文本形式的字符串,让通配符能够正常识别子串,最终返回匹配结果1。
方法2:将A1单元格设置为文本格式
选中A1单元格,右键选择「设置单元格格式」,在弹出窗口中选择「文本」类型,再输入数字123456。之后直接使用原公式即可生效:=MATCH("*"&B1&"*",A1,0)方法3:用SEARCH函数替代MATCH实现匹配
SEARCH函数支持直接在数值中查找子串,可通过以下公式模拟MATCH的返回逻辑:=IF(ISNUMBER(SEARCH(B1,A1)),1,NA())若B1的内容在A1中存在,返回1;不存在则返回
#N/A,和MATCH的返回逻辑一致。
内容的提问来源于stack exchange,提问作者Doc
相关产品推荐
相关产品推荐

