Excel 如何将结构不定的多个长行划分并重组成新格式

例题描述和简单分析

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

..

csv文件里 N 条记录是横向摆放的,第1行是每条记录的国家字段的值,第2行是每条记录的其他字段名,第3行是每条记录的其他字段值。现在要将该文件整理成规范的行式数据,结果如下:

..

解法及简要说明

使用 Excel 插件 SPL XLL

在空白单元格写入公式:

=spl("=([[""country"",""goods"",""value""]]|transpose(?).run(if(~(1)==null,~(1)=~[-1](1)))).record().pivot(country;goods,value)",A1:M3)

如图:
..

简要说明:

数据转置,把第一列国家补完整。

加入表头,生成序表。

pivot 函数行转列

问答搜集

https://stackoverflow.com/questions/63698177/how-to-split-a-long-row-by-specific-range-and-add-it-as-a-new-rows-excel