如题。和“VLOOKUP”函数功能很相似,但“VLOOKUP”条件是A列和D列中的字段相等,而我要的是A列的某字段包含了D列的字段,例如A字段是“中华人民共和国”,包含了D字段的“人民”。
使用index、match、if和数组函数组合
IF(ISERROR(MATCH(1,IF(ISERROR(FIND(D2,$A$2:$A$5)),0,1),0)),"此词不存在","此词在第"&INDEX($A$2:$B$5,MATCH(1,IF(ISERROR(FIND(D2,$A$2:$A$5)),0,1),0),2)&"组")
实现过程说明:
1、使用数组公式,就是输入公式后要按Ctrl+shift+Enter三个键,直接按Enter不行
2、条件判断:IF(ISERROR(FIND(D2,$A$2:$A$5)),如果在A列单元格中找到对应的字符返回1,找不到返回0,比如找“天王”的时候就返回{0,0,0,1}
3、使用match函数MATCH(1,IF(ISERROR(FIND(D2,$A$2:$A$5)),0,1),0)看匹配找到的位置,如找“天王”就是在{0,0,0,1}中找1的位置,返回4,如果都找不到就是{0,0,0,0},match函数就返回错误值,在单元格填写“此词不存在”
4、使用index返回代号,比如上图就是在A2到B5这个范围类找出第3步匹配的第4行,第2列,就是单元格B5的值“4”
注意:这个公式只能找第一个匹配的行,如果A列中有多行都能找到词B的字符,只返回最前面的一行
最后,有用请点采纳、赞,编辑不易,谢谢