excel怎么筛选A列中 含有B列关键字的数据

现在想要找出A列中哪些数据含有B列中的关键字,显示在C列中。(假设A列B列都有很多数据)
怎么实现图片中C列的效果?

1.打开需要编辑的Excel文件,观察列A和列B,列A列B有部分内容重复,现需统计列A中包含几个列B数据,并在列C中标记。

2.将光标移动到列C中,准备输入函数,这里要用到的函数有if函数,先输入=if(

3.继续输入函数,这里还需要用到另一个函数countif。具体输入内容如下图所示。

4.将光标移动到列B上面,鼠标呈一个向下的竖箭头,选中列B,countif函数后出现B:B,表示将列B选中。这里注意别选中列A,因为是要筛选出列A中有几个列B数据。


5.继续完成countif函数,到这一步骤,函数表示为=if(countif(B:B,A2)

6.继续完成countif函数,到第六步,countif函数已经完成。完整的函数表示为=if(countif(B:B,A2)>0,"shi","").说明:这个函数翻译过来就是说,在B列中查找是否有A2数据,如果有的话,这在C列中标注shi,如果没有则空着。

7.将光标移动到函数右下角,鼠标呈十字状,下拉。现在看到结果了吗?每个列A中和列B重复的数据都被标注为shi.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-14

假设B列的范围在B1:B999,A列范围多少没关系。

C1公式下拉:

=IF(A1="","",IF(SUMPRODUCT(--ISNUMBER(0/(FIND(B$1:B$999,A1)*(B$1:B$999<>"")))),A1,))


或者用这公式也行:

=IF(A1="","",IF(COUNT(0/(FIND(B$1:B$999,A1)*(B$1:B$999<>""))),A1,))

但这是数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  下拉。

追问

膜拜高手,确实好用。公式好复杂,能给简单讲解一下吗

追答

如果是初学的,估计解释了也是看不懂,建议还是循序渐进,多到百度搜索相关视频学习一下,比用文字的描述方式要生动易懂。

以下为解释:
(FIND(B$1:B$999,A1)*(B$1:B$999""))

这部份就是以B1:B999的数据到A1中查找,如果找到就返回一个大于0的数字,否则返回一个错误值#VALUE!,但由于B列为空时,公式也返回一个大于0的数字,所以要加上(B$1:B$999"")判断是否为空。这部份返回三个值 大于0、错误值、0值。

0/(FIND(....))
就是0除以 大于0、错误值、0值 这三个值,0除以大于0的结果为0,0除以错误值结果还是错误值,0除以0结果也是错误,所以只有0除以大于0的结果时,公式返回的结果是一个数字,外面套个ISNUMBER()函数判断是否有数字,有则返回TRUE(代表1)、否则返回FALSE(代表0)逻辑值。

在前面的ISNUMBER()加上两个减号就是把TRUE转化为1,FALSE转化为0,再用SUMPRODUCT求和,结果大于0的,就代表找到了。

本回答被提问者采纳
相似回答