ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1182|回复: 9

[已解决] 老师们 真诚地求助一个数据对比并提取的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-8 13:34 | 显示全部楼层 |阅读模式
首先要感谢所有能够给予帮助的老师,问题如下

1)在Sheet1中的一个单元格A1中有一组数据词组,这些数据词组在单元格中都使用逗号隔开的,且每个小时都是会变动的,它们不是固定不变的数据词组
1.jpg

2)在Sheet2中有A这列数据词组,此列中每个单元格里的数据词组都是不同的
2.jpg

3)在Sheet3中,有一单元格H4要求将Sheet1中A1单元格里用逗号隔开的数据与Sheet2中有A列数据作对比,如果Sheet1中A1单元格里,这些用逗号隔开的数据中有与Sheet2中有A列数据相同的,则这个数据在Sheet3单元格H4里显示,如果没有则显示为英文单词NO。请教在Sheet3单元格H4里如何编写公式

实例说明,详见附件的excel表的情况:
Sheet1中A1单元格里,有这些用逗号隔开的国家名称:危地马拉,委内瑞拉,乌干达,乌拉圭,西撒哈拉,萨摩亚。(这些国家名称每个小时都是会变动的,因此并不是固定不变的数据)
Sheet2中有A列一系列国家名称(每个单元格内的数据都是不一样的)
经过对比,Sheet1中A1单元格里“危地马拉”这个词与Sheet2中有A列中的A7内容一致,因此在Sheet3中单元格H4里要显示“危地马拉”这个词

3.jpg








TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-8 13:36 | 显示全部楼层
数据对比显示.zip (8.64 KB, 下载次数: 16)

前面好像附件没上传成功,再上传一次~

TA的精华主题

TA的得分主题

发表于 2019-11-8 15:10 | 显示全部楼层
=INDEX(Sheet2!A:A,SMALL(IF(Sheet2!$A$1:$A$63=TRIM(MID(SUBSTITUTE(Sheet1!$A$1,",",REPT(" ",99)),COLUMN(A:F)*99-98,98)),ROW(Sheet2!$A$1:$A$63),4^8),ROW(A1)))
三键数组,里面若有几个也可以多选。

TA的精华主题

TA的得分主题

发表于 2019-11-8 15:21 | 显示全部楼层
ASKA7000 发表于 2019-11-8 13:36
前面好像附件没上传成功,再上传一次~

这样?
=IFNA(LOOKUP(1,-FIND(","&Sheet2!A1:A63&",",","&Sheet1!A1&","),Sheet2!A1:A63),"NO")

TA的精华主题

TA的得分主题

发表于 2019-11-8 15:21 | 显示全部楼层
数组公式:

=TEXTJOIN(",",,T(IF(COUNTIF(Sheet1!A1,"*"&OFFSET(Sheet2!A$1,,,COUNTA(Sheet2!A:A))&"*"),OFFSET(Sheet2!A$1,,,COUNTA(Sheet2!A:A)),"")))

TA的精华主题

TA的得分主题

发表于 2019-11-8 15:34 | 显示全部楼层
数组公式:

=IF(OR(COUNTIF(Sheet1!A1,"*"&OFFSET(Sheet2!A$1,,,COUNTA(Sheet2!A:A))&"*")),MID(CONCAT(IF(COUNTIF(Sheet1!A1,"*"&OFFSET(Sheet2!A$1,,,COUNTA(Sheet2!A:A))&"*"),","&OFFSET(Sheet2!A$1,,,COUNTA(Sheet2!A:A)),"")),2,99),"No")

TA的精华主题

TA的得分主题

发表于 2019-11-8 16:34 | 显示全部楼层
E2:E9{=INDEX(C:C,SMALL(IF(1-ISERR(FIND(","&C$2:C$9&",",","&A$2&",")),ROW(C$2:C$9),4^8),ROW(A1)))&""

F2:F9{=INDEX(C:C,RIGHT(SMALL(IFERROR(FIND(","&C$2:C$9&",",","&A$2&",")/1%+ROW($2:$9),9999),ROW(A1)),2))&""
6268.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-8 16:36 | 显示全部楼层
上面解答的老师们都是高手啊!真心佩服

TA的精华主题

TA的得分主题

发表于 2019-11-8 16:41 | 显示全部楼层
本帖最后由 缝隙侠 于 2019-11-8 16:42 编辑

=TEXT(OFFSET(Sheet2!$A$1,SMALL(IFERROR(MATCH(TRIM(MID(SUBSTITUTE(Sheet1!$A$1,",",REPT(" ",30)),ROW($1:$40)*30-29,30)),Sheet2!A:A,0),100),ROW($A1))-1,0),";;;@")
三键。多个符合条件的话需要下拉显示

楼上的老师们真强

TA的精华主题

TA的得分主题

发表于 2019-11-9 08:40 | 显示全部楼层
ASKA7000 发表于 2019-11-8 16:36
上面解答的老师们都是高手啊!真心佩服

别样的解法:
H4=CONCAT(IF(MMULT(1-ISERR(FIND(EVALUATE(SUBSTITUTE("{"""&Sheet1!A1&"""}",",",""",""")),Sheet2!A1:A63)),ROW($1:$6)^0),Sheet2!A1:A63,""))
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-28 22:13 , Processed in 0.051705 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表