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

原始数据是A、B列,按C提供的关键词,在D显示所对应的字符,查找的内容不重复... 原始数据是A、B列,按C提供的关键词,在D显示所对应的字符,查找的内容不重复 展开
 我来答
匿名用户
2017-12-14
展开全部

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

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列
joy0084868
2017-12-14 · TA获得超过2550个赞
知道大有可为答主
回答量:4914
采纳率:54%
帮助的人:1211万
展开全部

这个只能用 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

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mk资料
2017-12-14 · TA获得超过1514个赞
知道小有建树答主
回答量:980
采纳率:72%
帮助的人:100万
展开全部

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

在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列的内容都是手动随时录入的内容,没办法分类!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式