数据特点:
B列单元格中的数据是A列单元格中的一部分
B列数据只会在A列出现一次
重复的部分不一定在同一行(例如B列的O和A列的MNO不在同一行)
数据源A列大概为2000个以内,B列大概300内(A的范围比B大很多)
要求:将包含B单元格内容的A单元格筛选出来,按照B列的顺序列在C列
A列 B列 C列
ACB G GHI
DEF O MNO
GHI A ACB
JKL X VWX
MNO
PQR
STU
VWX
提供两条公式,任选一条即可,在C1输入公式下拉即可:
公式一:(推荐)
=IF(B1="","",VLOOKUP("*"&B1&"*",A:A,1,))
公式二:
=IF(B1="","",INDEX(A:A,MATCH("*"&B1&"*",A:A,)))
也可以加入防错处理,当B列的值不存在于A列时,公式返回空白值,以上的公式会返回#N/A的错误值
公式一:
=IF(COUNTIF(B1,"*"&B1&"*")*(B1<>""),VLOOKUP("*"&B1&"*",A:A,1,),"")
公式二:
=IF(COUNTIF(B1,"*"&B1&"*")*(B1<>""),INDEX(A:A,MATCH("*"&B1&"*",A:A,)),"")
我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。