Excel : 基于一列复制多列到行
Excel : Copy muitple columns to rows based on one column
我正在寻找最有效的方法来将信息从三列转移到一行,并根据公司名称并排排列。
考虑以下示例:
- 我有一个 226k 的数据列表,其中包含多个客户(大约 30-40k)的产品详细信息。
- 一个客户可以拥有 2 到 50 个产品,每个产品都有一个序列号和一个产品编号。查看源数据图片
要求输出:每个客户一行将所有产品数据、序列号和产品编号并排显示。
源数据
期望的输出
我从来没有用过宏。有人可以帮我找到解决这个问题的最佳方法吗?
这个非常棘手,您需要使用列号来调整公式:
F 列中的客户列表必须手动输入,或者如果您有 Excel 365,您可能会受益于 UNIQUE Function。我手动做的。
我在单元格 G2 中的公式 是一个数组公式(必须按 SHIFT+CTRL[=35 输入=]+ENTER 否则无效!
=IFERROR(INDEX(SI($D:$D=$F2;CHOOSE(COLUMN()-6-INTEGER((COLUMN()-7)/3)*3;$A:$A;$B:$B;$C:$C);"");MATCH($F2;$D:$D;0)+INTEGER((COLUMN()-7)/3));"")
向右拖动,然后向下拖动。
我的公式使用值 6 和 7,因为我的数据从 G 列开始,这意味着第 7 列。因此,如果您将其放在其他地方,请确保将 7 和 6 的值也更改为正确的值!
无论如何,我已经将示例上传到 Gdrive,以防你想自己检查公式。
我正在寻找最有效的方法来将信息从三列转移到一行,并根据公司名称并排排列。 考虑以下示例:
- 我有一个 226k 的数据列表,其中包含多个客户(大约 30-40k)的产品详细信息。
- 一个客户可以拥有 2 到 50 个产品,每个产品都有一个序列号和一个产品编号。查看源数据图片
要求输出:每个客户一行将所有产品数据、序列号和产品编号并排显示。
源数据
期望的输出
我从来没有用过宏。有人可以帮我找到解决这个问题的最佳方法吗?
这个非常棘手,您需要使用列号来调整公式:
F 列中的客户列表必须手动输入,或者如果您有 Excel 365,您可能会受益于 UNIQUE Function。我手动做的。
我在单元格 G2 中的公式 是一个数组公式(必须按 SHIFT+CTRL[=35 输入=]+ENTER 否则无效!
=IFERROR(INDEX(SI($D:$D=$F2;CHOOSE(COLUMN()-6-INTEGER((COLUMN()-7)/3)*3;$A:$A;$B:$B;$C:$C);"");MATCH($F2;$D:$D;0)+INTEGER((COLUMN()-7)/3));"")
向右拖动,然后向下拖动。
我的公式使用值 6 和 7,因为我的数据从 G 列开始,这意味着第 7 列。因此,如果您将其放在其他地方,请确保将 7 和 6 的值也更改为正确的值!
无论如何,我已经将示例上传到 Gdrive,以防你想自己检查公式。