ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 求大佬提取相同数据公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-1 11:38 | 显示全部楼层 |阅读模式
本帖最后由 红红火火幸福来 于 2023-5-3 18:33 编辑

求提取相同数据公式,请老师们帮助下,非常感谢

如图所示:两行数据上下进行对比,位置相同的数据根据第一行所示对应的位置提取出来,合并放到第b6-b9单元格内。

问题已解决
非常感谢老师们的热心帮助,非常谢谢!
image.png


求提取相同数据公式.rar

7.32 KB, 下载次数: 12

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-1 11:51 | 显示全部楼层
1,只提取指定单元格数据区域和位置的数据,空列处如有相同数据也不提取,如上图14/5单元格后面的空白单元格如果有相同数据就不用提取
2,也可以先提取出来放在下一行,最后在合并。

TA的精华主题

TA的得分主题

发表于 2023-5-1 13:32 来自手机 | 显示全部楼层
题目没完全看明白,个人觉得,先调整结构,不然现在都是无用功,且无效率,且问题多多。

TA的精华主题

TA的得分主题

发表于 2023-5-1 15:39 | 显示全部楼层
=TEXTJOIN(" ",1,IF((--MID(CONCAT($B$1:$I$1),ROW($1:$12),1)=A6)*(TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$2:$I$2),"/",REPT(" ",50)),ROW($1:$12)*50-49,50))-TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$3:$I$3),"/",REPT(" ",50)),ROW($1:$12)*50-49,50))=0),TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$3:$I$3),"/",REPT(" ",50)),ROW($1:$12)*50-49,50)),""))     数组三键

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-2 12:42 | 显示全部楼层
theking_wsz 发表于 2023-5-1 15:39
=TEXTJOIN(" ",1,IF((--MID(CONCAT($B$1:$I$1),ROW($1:$12),1)=A6)*(TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$ ...

公式中的50这个值是怎么计算出的?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-2 13:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
theking_wsz 发表于 2023-5-1 15:39
=TEXTJOIN(" ",1,IF((--MID(CONCAT($B$1:$I$1),ROW($1:$12),1)=A6)*(TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$ ...

这个公式应用到别的不同行列更多的数据中,要修改哪几个关键值才能用?麻烦告知一下,谢谢了!
另外,这个公式如果空列有数据,就会提取不准,会把不对应位置的空列数提取出来,如下图
image.png

TA的精华主题

TA的得分主题

发表于 2023-5-2 14:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
红红火火幸福来 发表于 2023-5-2 13:21
这个公式应用到别的不同行列更多的数据中,要修改哪几个关键值才能用?麻烦告知一下,谢谢了!
另外,这 ...

=TEXTJOIN(" ",1,IF((--MID(CONCAT(RIGHT(IF($B$2:$I$2<>"","00"&$B$1:$I$1,""),2)),ROW(INDIRECT("1:"&COUNTA($B$2:$I$2)*2)),1)=A6)*(TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$2:$I$2),"/",REPT(" ",50)),ROW(INDIRECT("1:"&COUNTA($B$2:$I$2)*2))*50-49,50))-TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$3:$I$3),"/",REPT(" ",50)),ROW(INDIRECT("1:"&COUNTA($B$2:$I$2)*2))*50-49,50))=0),TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,$B$3:$I$3),"/",REPT(" ",50)),ROW(INDIRECT("1:"&COUNTA($B$2:$I$2)*2))*50-49,50)),""))  第一行空,下面两行还是都要有数据哈。
50是看需要截取的字符长度和多少来写的(题目最多是2位长度),间隔越大于要取的值的位数,越能完整截取。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-5-3 11:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
B6下拉=LET(x,IF(ISNUMBER(FIND(MID($C$3:$I$3,1,FIND("/",$C$3:$I$3)),$C$2:$I$2)),LEFT($C$1:$I$1,1)&MID($C$3:$I$3,1,FIND("/",$C$3:$I$3)-1),""),
y,IF(ISNUMBER(FIND(MID($C$3:$I$3,FIND("/",$C$3:$I$3),99),$C$2:$I$2)),RIGHT($C$1:$I$1,1)&MID($C$3:$I$3,FIND("/",$C$3:$I$3)+1,99),""),
z,CHOOSE({1;2},x,y),
a,SMALL(IFERROR(--z,0),SEQUENCE(COUNTA(z))),
TEXTJOIN(" ",1,FILTER(MID(a,2,99),--LEFT(a,1)=ROW(A1))))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-3 18:31 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-25 15:31 | 显示全部楼层
橒♂蝣 发表于 2023-5-3 11:21
B6下拉=LET(x,IF(ISNUMBER(FIND(MID($C$3:$I$3,1,FIND("/",$C$3:$I$3)),$C$2:$I$2)),LEFT($C$1:$I$1,1)&MID ...



再次麻烦一下,请老师再看看是什么原因?
第3行统计出的数据是不存在的,出错,其它行的统计结果是对的,麻烦老师再看看是什么原因,再修改下公式,谢谢。

image.png

提取多位置相同数据的公式 - 副本.zip

10.93 KB, 下载次数: 3

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 01:33 , Processed in 0.054584 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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