Excel 如何将每个分类下除分类列外的每一列转换为一行

例题描述和简单分析

有 Excel 文件,数据如下所示:

..

现在需要将每个分类 (A ) 下除分类列外的每一列(BC 列)转换为一行,结果如下:

..

解法及简要说明

使用 Excel 插件 SPL XLL

在空白单元格填写公式:

=spl("=E@b(?).group@u(#1).([~.#1|~.(#2),~.#1|~.(#3)]).conj()",A1:C8)

如图:

..

简要说明:

按第一列分组。每组内,取第一列的第一个值与第二列(B 列)合并,取第一列的第一个值与第三列(C 列)合并,两者组成序列,再将每组合并,成为序列的序列。

问答搜集

https://stackoverflow.com/questions/63782094/conditionally-transpose-excel-data