如何在 excel 中将垂直的 2 列列表转置为水平列表,同时保持分组?

How can I transpose a vertical 2 column list to a horizontal list, keeping the groupings, in excel?

我有一个国家数据集,每个国家都有一个特定的“事物”列表,例如“班次”,但为了简单起见,我们只说我们有几个型号的汽车制造商汽车,对于每个品牌,像这样:

Make Model
Honda Accord
Honda Civic
Toyota Camry
Toyota Tundra

我想将上面的数据集(我称之为“垂直”)转换为“水平”列表...如下:

Honda Toyota
Accord Camry
Civic Tundra

我想我可以通过组合函数来做到这一点,也许可以使用 Match 和 Offset,但我被卡住了。假设我的第一个 table 存在于 A 列和 B 列中,并且我试图在 C2 和 D2 中启动水平数据集,所以我在 C1 中输入了“Honda”,在 D1 中输入了“Toyota” .我想使用 C1 和 D1 在 A 中查找匹配项,然后 return 从 B 中查找每个匹配项的值。我已经能够按如下方式找到匹配项,但似乎无法更进一步.尝试了几种不同的组合。我正在尝试做的事情是否可行?

=MATCH(C1,$A:$A,0)

=MATCH(D1,$A:$A,0)

通过上述功能,C2目前有一个“2”是正确的,D2有一个“4”也是正确的,但我希望两个模型的文本都出现,而不仅仅是第一个模型,但所有匹配该品牌的模型。

如果您有 Excel 365,您可以使用 UNIQUEFILTER 函数。

如果您的数据在 A1:B5 中,您可以在 E1 中使用此公式来获得独特的品牌。

=TRANSPOSE(UNIQUE($A:$A))

要列出每个品牌的型号,您可以在 E2 中使用此公式并将其复制。

=FILTER($B:$B, $A:$A=E)