如何根据列的内容将行转换为列

How to convert rows to columns according to the content of a column

我有一个包含 50,000 行和 3 列的 csv/xls 文件,格式如下:

Text01 | text02 | Tag
Text1  | text2  | Tag1
Text3  | text4  | Tag1
Text5  | text6  | Tag1
Text7  | text8  | Tag2
Text9  | text10 | Tag2
Text11 | text12 | Tag3

等 我想将其转换为以下格式:

Tag  | text1 | text2 | text3 | etc
Tag1 | Text1 | text2 | text3 | text4 | text5 | text6

等等

更新

我尝试了@player0 之前使用 google sheet 公式提出的解决方案,它仅在标签列包含单个单词而不是多个单词时有效:

总而言之,更明确地说,我正在寻找一种解决方案,它允许我将具有公共列的行组合在一起,因为知道行数是可变的。

尝试:

=ARRAYFORMULA(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(B2:B<>"", 
 {IF(COUNTIFS(D2:D, D2:D, ROW(D2:D), "<="&ROW(D2:D))=1, "♥"&D2:D, )&"♦"&B2:B, "♦"&C2:C}, ))
 ,,999^99)),,999^99), "♥")), "♦"))