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)

Picture1png

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

相关推荐

  1. Excel文件按照内容进行分组

    2024-06-12 06:52:04       45 阅读
  2. excel合并单元格并保留数据

    2024-06-12 06:52:04       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 06:52:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 06:52:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 06:52:04       82 阅读
  4. Python语言-面向对象

    2024-06-12 06:52:04       91 阅读

热门阅读

  1. shell脚本

    2024-06-12 06:52:04       27 阅读
  2. Unity3D MMORPG 主城角色动画控制与消息触发详解

    2024-06-12 06:52:04       31 阅读