2014-09-01 16 views
0

因此,可以說,我有一個這樣的表..Excel中 - 移調未排序項

TID Person Type Name 1 Andy F Orange 2 Andy M Beef 3 Andy V Carrot 4 Andy V Spinach 5 Bobby M Ham 6 Bobby F Apple 7 Bobby V Carrot

我要轉它,這樣它會根據類型進行排序,我希望它看起來像這樣

Person F M V Andy Orange Beef Carrot Bobby Apple Ham Carrot

我如何能做到這一點?哦,我會還的情況下,點些東西,你們錯過了:

  1. 的類型沒有特定的順序,如果你注意到安迪的,順序是FMVV,但Bobby的是MF五
  2. 多類型的實例可能會發生,就像在安迪的情況下一樣,注意到雙重的V.但即便如此,我也希望它只有唯一的V是第一個,這就是爲什麼在轉置表中,V是胡蘿蔔,因爲胡蘿蔔首先發生(菠菜被忽略)。

我不知道我是否問得太多,但即使只是解決方案的要點,對我來說也是很有幫助的。我的問題的主要問題是要問我如何轉移這些未排序的項目,同時關注第一點。第二點也很重要,但如果你們不想回答,我可以稍後再問。

感謝您的閱讀,請與我分享您的知識。

+0

總會有三種不同的「類型」,還是會有更多?無論哪種方式,我都會創建一個Class對象並讀入Person/Type/Name組合;給它一個唯一的名字,例如Person | Type,將它添加到一個唯一名稱作爲關鍵字的集合中,這將導致一個包含唯一PersonType的集合,並且只保留第一個。然後將結果放入一個寬度足以包含所有類型的數組;將其寫入工作表並水平排序。閱讀Chip Pearson關於課程入門的頁面,以開始使用該課程的這一部分。 – 2014-09-01 11:41:32

+1

如果有任何答案有幫助,請考慮標記爲答案,以便有相同問題的其他人可以找到解決方案。謝謝! – 2014-09-01 12:19:35

回答

2

最簡單/最快捷的方法是在之前創建一個新列TID列,其中包含此公式。

=[Person]&"_"&[Type]

舉例說,在B列數據開始,看到屏幕截圖(TID),那麼第一個公式是:

=C2&"_"&D2並會導致Andy_F創建。把它複製下來,記錄下你所有的名字。

你應該有這樣的事情:

NEW TID Person Type Name 
Andy_F 1 Andy F Orange 
Andy_M 2 Andy M Beef 
Andy_V 3 Andy V Carrot 
Andy_V 4 Andy V Spinach 
Bobby_M 5 Bobby M Ham 
Bobby_F 6 Bobby F Apple 
Bobby_V 7 Bobby V Carrot 

接下來,設置這樣的表(使用複製獨特的項目,如果需要的話),沿水平方向上的垂直獨特的名稱和類型:

 F  M V 
Andy [form]   
Bobby 

[form]vlookup式如下面的屏幕截圖:

enter image description here

在正確的表得到的你,一旦公式複製到所有細胞的新表:

enter image description here

Vlookup會搶符合其搜索性判據的第一個項目,那麼多的比賽會被忽略。

表中Andy F的公式爲VLOOKUP($G2&"_"&H$1,$A$2:$E$8,5,0),數據與屏幕截圖中一樣。

更好的方法可能是使用VBA,但這應該有所斬斷。