Excel 多列组合内容循环展开

某表格 A 列是编号,其他列是用逗号分隔的意义不同的分类列

|---|--------------|-------------|-------------|------------------|----------------|------------|-------------------|
| | A | B | C | D | E | F | G |
| 1 | Assembly# | ProductType | Unit Config | Nominal Capacity | Supply Voltage | Generation | Case Construction |
| 2 | 3H1012290001 | CM | D,P | 24,36 | F | A | A,B |
| 3 | 3H1012290002 | CM | D,P | 48,60 | F | A,B | A,B |
| 4 | 3H1012290003 | CM | D,P | 24,36 | B,C,D,E | A | A,B |

要求展开各分类列,并互相组合。比如第一条数据的处理结果

|----|--------------|-------------|-------------|------------------|----------------|------------|-------------------|
| | A | B | C | D | E | F | G |
| 6 | Assembly# | ProductType | Unit Config | Nominal Capacity | Supply Voltage | Generation | Case Construction |
| 7 | 3H1012290001 | CM | D | 24 | F | A | A |
| 8 | 3H1012290001 | CM | D | 24 | F | A | B |
| 9 | 3H1012290001 | CM | D | 36 | F | A | A |
| 10 | 3H1012290001 | CM | D | 36 | F | A | B |
| 11 | 3H1012290001 | CM | P | 24 | F | A | A |
| 12 | 3H1012290001 | CM | P | 24 | F | A | B |
| 13 | 3H1012290001 | CM | P | 36 | F | A | A |
| 14 | 3H1012290001 | CM | P | 36 | F | A | B |

使用 SPL XLL,输入公式:

复制代码
=spl("=E@b(?.(~.(~.split@c())).conj(eval($[xjoin(] / ~.($[~(] / # / $[)]).concat($[;]) / $[)])))",A2:G4)

函数 E@b()将表格的非列名部分转为序列。split@c 用逗号将字符串拆为序列。conj 合并成员。eval 把字符串当作代码动态执行。xjoin 将多个序列叉乘 / 组合起来。$[;] 是字符串的简写形式,等价于 "";""

相关推荐
梦幻通灵7 小时前
Excel工作表的复制实战【实用指南】
excel
ManageEngineITSM9 小时前
功能越来越强,但 IT 使用体验却越来越差
大数据·excel·资产管理·itsm·工单系统
傻啦嘿哟9 小时前
如何使用 Python 操作 Excel 图片:插入、提取与压缩
开发语言·python·excel
石马马户9 小时前
Excel 根据A列标签拆分为多个列数据
excel
骆驼爱记录11 小时前
Word目录:标题加粗页码不加粗技巧
自动化·word·excel·wps·新人首发
城数派11 小时前
1985-2024年各省市县不同土地覆盖类型的土地面积(Excel)
数据库·arcgis·信息可视化·数据分析·excel
开开心心_Every11 小时前
轻松加密文件生成exe,无需原程序解密
运维·服务器·网络·电脑·excel·consul·memcache
fengyehongWorld1 天前
VBA 操作PowerQuery表格和带名字的表格
excel·vba
tangyal1 天前
Linux 核心操作合集(网络配置、XShell远程连接、vim文本编辑与操作、权限管理 实操手册)
excel
softbangong2 天前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理