excel函数可否实现以下功能:一个单元格中包含某个数组中的某个值,则对应返回该数组中该值

如图所示:单元格A2中包含了数组范围中的值"ab",则单元格B2对应需要返回的值就是"ab”单元格A3中包含了数组范围中的值"rf",则单元格B3对应需要返回的值就是"rf”......//注:需要保证准确性,不能用vlookup的近似匹配
实际使用的案例中,单元格A列,B列,C列都是上万条不同的数据,不可能制订匹配表匹配,目前的思路是通过=countif(find({数组},A2))实现,但是能够判断是否包含数组中的值,但是不能返回对应的数组中的对应值

1,在B2粘贴

=INDEX(D$1:D$7,MIN(IF(ISERR(FIND(IF(D$2:D$6="","空格",D$2:D$6),A1)),7,ROW(D$2:D$6))))
2,使用CTRL+SHIFT+ENTER 公式变成数组公式。
3,拖动,填充公式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-05
B2公式:
=LOOKUP(1,0/FIND(D$2:D$6,A2),D$2:D$6)
下拉。追问

谢谢,可以给我解释一下lookup中的各个参数都是什么意思么?
特别是1和0/find函数是什么意思呢?

追答

FIND(D$2:D$6,A2):得到一个由数字(如果在A2中找到就是所在位置的数字)和错误值组成的数组;
0除以这个数组得到0和错误值组成的数组;(为查找1作准备)
利用LOOKUP函数忽略错误值的特性,找到最后一个0所对应的D$2:D$6中的值。

追问

既然0除以这个数组得到0和错误值组成的数组,
那lookup的查找值不应该是0么,为什么查找值写1呢?

本回答被提问者和网友采纳
相似回答