ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如图&附件,求教如何通过公式或者其他操作批量处理实现源格式到目标格式?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-10-3 10:05 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 skywee 于 2022-10-3 11:24 编辑

RT,如何通过公式或者其他操作批量处理实现如图所示的Excel表格的格式变化和内容对应转换?


目标:使得A格式或者C格式(不同列,一行对应多行属别关系),转换为B格式同字段同列,级层关系。以及从B格式转换为A或者C格式。


工作紧急,还请大神赐教为感。

image.jpg


举例.rar

8.9 KB, 下载次数: 11

对应展示图片

TA的精华主题

TA的得分主题

发表于 2022-10-3 10:41 | 显示全部楼层
A到B
=TOCOL(CHOOSECOLS(A3:D14,1,3),1)
右拉
365测试通道自动溢出

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-3 10:55 | 显示全部楼层
minchar 发表于 2022-10-3 10:41
A到B
=TOCOL(CHOOSECOLS(A3:D14,1,3),1)
右拉

感谢回复,试了下,输出结果为 “#NAME?”

TA的精华主题

TA的得分主题

发表于 2022-10-3 10:56 | 显示全部楼层
(1)A列插入一个辅助列,A3=IF(B3<>"",MOD(N(A2)+1,2),"")拖动到所有数据区,将其转化为数值,
(2)在A列查找所有1,CTR+SHIFT++插入行,再查找所有0同样插入行
(3)从第4行复制BC列数据区,向上错一行复制粘贴DE列,并跳过空值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-3 11:09 | 显示全部楼层
minchar 发表于 2022-10-3 10:56
(1)A列插入一个辅助列,A3=IF(B3"",MOD(N(A2)+1,2),"")拖动到所有数据区,将其转化为数值,
(2)在A列 ...

可能我这种情况确实不太好操作,我举例的压缩包里的数据只是其中很少一部分,类似的一对多,可能是一对2,一对4,一对5,甚至是一对上百,情况不一,总数据量比较多。如果没有便捷批量操作,那也没办法了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-3 11:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
minchar 发表于 2022-10-3 10:56
(1)A列插入一个辅助列,A3=IF(B3"",MOD(N(A2)+1,2),"")拖动到所有数据区,将其转化为数值,
(2)在A列 ...

但你提供了一个思路,我感觉通过辅助列,可能稍微有点麻烦,但毕竟好过肉眼分辨了这么拼接。我来试试自己原来了解的一些原理,借助多个辅助列来操作能不能满足需求。再次感谢回复~

TA的精华主题

TA的得分主题

发表于 2022-10-3 14:18 | 显示全部楼层
J3:K18{=IFERROR(INDIRECT(TEXT(SMALL(IF(($A$3:$C$14<>"")*({1,2,3}<>2),ROW($3:$14)/1%+COLUMN(A:C)),ROW(A1)),"!R0C00"),),"")

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-4 13:51 | 显示全部楼层
hcm19522 发表于 2022-10-3 14:18
J3:K18{=IFERROR(INDIRECT(TEXT(SMALL(IF(($A$3:$C$14"")*({1,2,3}2),ROW($3:$14)/1%+COLUMN(A:C)),ROW(A1) ...

非常感谢,真想有时间的时候也能学习和了解类似的知识和技巧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-4 14:31 | 显示全部楼层
hcm19522 发表于 2022-10-3 14:18
J3:K18{=IFERROR(INDIRECT(TEXT(SMALL(IF(($A$3:$C$14"")*({1,2,3}2),ROW($3:$14)/1%+COLUMN(A:C)),ROW(A1) ...

大佬,请教下,实现转换后的B格式中的标色,能在公式拉取后直接带有标色的效果不,拉取得到目标单元格信息时候顺带标色。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-10-4 14:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
skywee 发表于 2022-10-4 14:31
大佬,请教下,实现转换后的B格式中的标色,能在公式拉取后直接带有标色的效果不,拉取得到目标单元格信 ...

也想过用源数据表格中父项行新增辅助列来实现,但因为没有唯一性,即出现在A列的编码和B列的名称同样有可能出现在C、D列,所以通过辅助列可能实现不了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 00:36 , Processed in 0.025271 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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