Excel 公式查找匹配,查找值的部分字符串在查找区域中有,标记查找列?
如查找列为姓名列,王小二、诸葛晴天,西下吹风等;查照区域为姓氏列,任、王、诸葛、西门。要求,当查找值(王小二、诸葛晴天)的部分字符出现在查找区域中(王、诸葛),查找值(王...
如查找列为 姓名列,王小二、 诸葛晴天,西下吹风等;查照区域为姓氏列,任、王、诸葛、西门。要求,当查找值(王小二、诸葛晴天)的部分字符出现在查找区域中(王、诸葛),查找值(王小二、诸葛晴天)进行标记,可后面单元格为1;查找值(西下吹风)无部分字符串出现在查找区域(西下不是西门),不标记。如何实现
展开
1个回答
展开全部
追问
1、解释一下这个公式的原理;
2、MATCH($C$2:$C$11,A2,0)应该是查找 A2在$C$2:$C$11内的位置,若A2(王小二)在数组里能识别(王*),返回的也应该是2,而不是数组吧;3、若若A2(王小二)在数组里能识别(王*),为啥不适合使用countif函数公式呢countif($C$2:$C$11,A2,0)
追答
先解释第二项再解释原理吧。
2、MATCH($C$2:$C$11,A2,0)是查找在$C$2:$C$11在A2的位置,返回一串数组
MATCH(A2,$C$2:$C$11,0)才是查找 A2在$C$2:$C$11内的位置,返回一个错误值
再通过LOOKUP(9^9,数组),忽略错误值查找比9^9小的最大值,也就是查找到1,返回1,查找不到返回#N/A
1、原理是上面基本解释清楚了,主要是根据通配符的用法,只能用王*来查找到王小二,而不能反过来,所以用这种方法先计算出一串数组,再用lookup取数组中的一个,最后加上纠错函数,countif返回的是单个结果而不是一串数组,所以这种思路不适合countif
注:不过你倒是提醒我用另外一个思路,countif好像也是支持通配符的,利用这个性质的话,那么公式可以改成
=SUM(COUNTIF(A2,$C$2:$C$11))
更加清晰简洁,可读性高
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询