Excel - 在一个单元格中枢轴值(作为逗号分隔值)

Chr*_*ris 13 microsoft-excel

Excel - 在一个单元格中枢轴值(作为逗号分隔值)

我有两列数据:

供应商1|产品1
供应商1|产品2
供应商1|产品4
供应商1|产品7
供应商2|产品3
供应商2|产品5

我想围绕供应商“旋转”,并在一个单元格中给出产品列表,以逗号分隔,例如

供应商1|产品1、产品2、产品4、产品7
供应商2|产品3,产品5

大约有 1000 个供应商,0 < 产品 <= 10。

我目前的解决方法涉及使用数据透视表、另存为 CSV 等,而且非常混乱。非 VBA 解决方案会很棒。

F10*_*art 23

这是一个仅使用几个公式的非 VBA、非数据透视表解决方案。

  1. 首先,我使用“文本到列”将“管道”分隔符(垂直线)处的数据拆分为 2 列;“供应商”栏和“产品”栏。那些分别在 A 列和 B 列中。(在您的帖子中,它们组合在一个列中,因此我首先将它们分开。您不必这样做。)

  2. 在 C 列中,我将其命名为“串联”列,我使用了这个公式,从单元格 C2 开始并一直向下复制:=IF(A2=A1,C1&", " & B2,A2&"|"&B2)

  3. 在 D 列中,我将其命名为“SupplierChangesAtNextLine?” 我使用了这个公式(从 D2 开始并一直复制):=IF(A2=A3,"","Changed")

  4. 您现在应该能够在 D 列上仅过滤“已更改”的值。

狩猎好!