如何将excel中A列与B列重复的数据出现在C列中!急,在线等!

数据特点:
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,)),"")


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-10

C1输入

=INDEX(A:A,MIN(IF(ISNUMBER(FIND(B1,$A$1:$A$2000)),ROW($1:$2000),4^8)))&""

先按住 CTRL+SHIFT,最后回车

公式下拉

第2个回答  2013-09-10
sub test()
for i=1 to cells(rows.count,2).end(3).row

for j=1 to cells(rows.count,1).end(3).row
if instr(cells(j,1).value,cells(i,2).value))>0 then

cells(i,3)=cells(j,1)

exit for

end if

next

next

end sub
第3个回答  2013-09-10
莫有看懂。。。。文件发到[email protected]
相似回答