将MS Excel数据从列解压到行

将MS Excel数据从列解压到行,excel,pivot-table,powerquery,Excel,Pivot Table,Powerquery,我手头有一个小挑战,我尝试了pivot table,并在Google的帮助下完成了这项活动。但我已经看到了针对非常结构化/有组织的数据的解决方案。我面临的挑战如下 表1中的数据,由两列组成。第1栏“零件号”,第2栏对应“供应商零件号”。第1栏中的给定零件号在第2栏中可以有多个供应商零件号,因为它们由不同的供应商提供(每个供应商都有自己的零件号命名约定) 我想做的是,对于我们的零件号,我想将所有对应的供应商零件号放在同一行的不同列中(基本上是拆垛?) 请参阅附件以获得更好的清晰度 解压挑战说明:

我手头有一个小挑战,我尝试了pivot table,并在Google的帮助下完成了这项活动。但我已经看到了针对非常结构化/有组织的数据的解决方案。我面临的挑战如下

表1中的数据,由两列组成。第1栏“零件号”,第2栏对应“供应商零件号”。第1栏中的给定零件号在第2栏中可以有多个供应商零件号,因为它们由不同的供应商提供(每个供应商都有自己的零件号命名约定)

我想做的是,对于我们的零件号,我想将所有对应的供应商零件号放在同一行的不同列中(基本上是拆垛?)

请参阅附件以获得更好的清晰度

解压挑战说明:

数据表:

如果有人能给我指点,那就太好了

零件号。 供应商零件号。 供应商名称 ABC12345 AB36062653 第一供应商 FGHHJK8765 4-514903600 第一供应商 HGD5 196032821-03 第一供应商 GHJ677 430662322-AA 第一供应商 SDFG3456 01-103622307 第一供应商 ABC12345 38707105_01 二号供应商 DFG4567 ab403649756 二号供应商 GHJ677 7R-4129801 二号供应商 HGD5 00-357031751 二号供应商 SDFG3456 509806089-4A 二号供应商 SDFG3456 TYR488316651 第三供应商 HGD5 99804219BJK 第三供应商 DFG4567 389816712jk 第三供应商 ABC12345 CB361990766 第三供应商 ABC12345 RRR519537923BB 供应商编号4 ABC12345 FNKG485505159 供应商编号5 DFG4567 BB16633987UUU 供应商编号4 DFG4567 2042737GH_01 供应商编号5 FGHHJK8765 E168552849K 供应商编号4 FGHHJK8765 gh_01_124784471 供应商编号5 SDFG3456 65610572JFJD 供应商编号5 HGD5 214258608KMCFK 供应商编号4 GHJ677 YTUYJ372430994 供应商编号4 GHJ677 HDJSFHDJ-524930743 供应商编号5
根据您的数据设置,在Power Query中,这是一个简单的透视操作,没有聚合

M代码
将第2行中的表名更改为实际表名

结果是:


在支持动态数组公式的Excel版本中,您可以使用

单元格
H7

=YourTableName[[#Headers],[Part No.]]
单元格
H8

=SORT(UNIQUE(YourTableName[Part No.]))
单元格
I7

=TRANSPOSE(SORT(UNIQUE(YourTableName[Supplier Name]))))
CellI8

=XLOOKUP(H8#&"_"&I7#,YourTableName[Part No.]&"_"&YourTableName[Supplier Name],YourTableName[Supplier Part No.],"",0,1)`

结果中哪些列为空的逻辑是什么?@AlexisOlson这意味着1号供应商没有提供我们的零件号DFG4567。因此,他没有相应的零件号。如何将零件号映射到供应商?我没有看到供应商栏。如果你有一个供应商专栏,那么这只是一个支点。我现在已经更新了我的挑战图片。我知道在pivot表的值字段中可以有数字形式的数据。我不确定如何使带有特殊字符的字母数字显示如表2所示。将数据表提供为文本将使那些试图帮助您的人的工作更加简单。
=XLOOKUP(H8#&"_"&I7#,YourTableName[Part No.]&"_"&YourTableName[Supplier Name],YourTableName[Supplier Part No.],"",0,1)`