EXCEL 如何在A列查找内容C,并在D显示所有B列包含字符。

原始数据是A、B列,按C提供的关键词,在D显示所对应的字符,查找的内容不重复

模板这样做,这步骤我放下面了:

1、E3中公式为=TEXT(INDEX($B:$B,SMALL(IF($A$3:$A$101=$C3,ROW($3:$101),4^8),COLUMN(A2))),"")

注意:此公式为数组公式,粘贴完成后需要按住ctrl+shift,同时再按回车键

2、D3中公式为=E3&"  "&F3&"  "&G3&"  "&H3&"  "&I3&"  "&J3

备注:模板设计一个地方的人员最多为6个,你需要再加的话自己再下拉右拉复制公式,同时D3中相应的使用&"  "&这个连接符号搭配文本符号进行增加显示姓名。

追问

问题在于,A,B列的内容都是手动随时录入的内容,没办法分类!

追答

a列的不重复内容提取很简单啊,复制此列到新的工作表,然后你可以选中这列,使用excel自带的去重功能,将这去重复的再粘贴到这个工作表的C列

追问

我并没有说不重复,而是说内容都是手动随时录入,没办法分类,只是查到的内容可能是两个同样的,这样不重复。这是一个问题啊,不能分开答的

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

这个只能用 VBA了

Sub abc()

Dim a As Range, d As Range, C As Range

'Set d = Range("D1")

Range("D1:D60000").ClearContents '只清数值

Application.ScreenUpdating = False '实时刷新关闭

For Each a In Range(Range("A1"), Range("A65535").End(3))

For Each C In Range(Range("C1"), Range("C65535").End(3))

If C.Text = a.Text And InStr(C.Offset(0, 1).Text, a.Offset(0, 1).Text) = 0 Then

C.Offset(0, 1).Value = C.Offset(0, 1).Text & " " & a.Offset(0, 1).Text

End If

Next C

Next a

Application.ScreenUpdating = True '实时刷新

End Sub

本回答被提问者和网友采纳
第2个回答  2017-12-14

为了方便使用公式,先在最上面插入一行,输入内容,如图。

在E2输入公式=IFERROR(VLOOKUP($D2&COLUMN(A1),IF({1,0},$A$2:$A$99&COUNTIF(INDIRECT("a2:a"&ROW($2:$99)),$D2),$B$2:$B$99),2,),"")&""按ctrl+shift+回车键,向右向下拉到出现空为止,再把得出的结果合并在一个单元格内,公式=E2&"  "&F2&"  "&G2

追问

问题在于,A,B列的内容都是手动随时录入的内容,没办法分类!

相似回答