2016-08-12 81 views
1

我有一個包含兩列的CSV文件。第1列包含組ID,第2列包含項目ID。CSV,將多行轉換爲按另一列的值分組的逗號分隔列表

下面是一些示例數據(複製出來的excel)

- 5 154 
- 5 220 
- 5 332 
- 5 93 
- 5 142 
- 5 471 
- 5 164 
- 5 362 
- 5 447 
- 5 1697 
- 5 170 
- 6 173 
- 6 246 
- 6 890 
- 6 321 
- 6 421 
- 6 1106 
- 6 5 
- 6 253 
- 6 230 
- 6 551 
- 8 2155 
- 8 2212 
- 8 2205 
- 8 2211 
- 8 2165 
- 8 2202 
- 8 1734 
- 8 2166 
- 8 2129 

我需要重新格式化,這樣我只有一個排的每個組ID和2列包含項目ID的逗號分隔的列表。

因此,它應該是這個樣子

-5 154,220,332,93,142,471,164362,447,1697,170 
-6 173,246,890,321,421,1106,5,253,230,551 
-8 2155,2212,2205,2211,2165,2202,1734,2166,2129 

我很高興地導入CSV到Excel /數字以格式化。甚至在一個臨時MySQL數據庫中,如果一個SELECT查詢可以實現這一點。

謝謝你的幫助!

回答

0

我覺得這樣的事情最好用Rreshape來解決。
但在這裏,你在Excel中去:

假設

  • 項鍵列B
  • 組獨特的鍵列d列

    • 組鍵(我想你可以手動執行此操作)

    進入E2:

    =INDEX($B:$B,SMALL(IF($A$2:$A$50=$D2,ROW($A$2:$A$50),""),COLUMN()-COLUMN($D2))) 
    

    並按下CTRL + SHIFT + ENTER將其作爲數組公式輸入。現在您可以將單元格E2複製到F2:P2和E3:P4。

    結果:

    enter image description here

  • +0

    您的解決方案將使其它更多的列的每一行。我需要逗號分隔的項目ID列表在B列。所以B列的值將是154,220,332,93等等。 –

    +0

    原生Excel公式無法實現(您需要VBA)。解決方法:文件 - >另存爲 - > CSV。或者進入E5,輸入'= D5&「,」&E4'並將E5拖到右側。 –

    相關問題