2013-03-29 95 views
1

我在Excel中創建一個我認爲是數組的函數時出現問題。我沒有太多的陣列經驗,並嘗試谷歌,但沒有找到適用於我的情況的例子。在Excel中比較兩個範圍

問題:

行1(通過1000)包含用戶與他的直接領導漲6個用戶深。這些都是文字值。所有特定行的領導者都是獨一無二的。

我有一個單獨的列(列M),這是我想比較每行的用戶的列表。我想比較列M到行1用戶,如果匹配,則返回匹配的名稱。

row 1 | user1 | John | Rick | Mary | Paul | Jim | {matched leader goes here - Mary} 

row 2 | user2 | Rick | Mary | Paul | Jim | Ann | {matched leader goes here - Mary} 

row 3 | user3 | Terry | John | Rick | Mary | Paul | {matched leader goes here - Mary} 

row 4 | user3 | Sylvia | Steve | Tom | Eric | Lorriaine| {matched leader goes here - Lorraine} 

列M(VP列表)

- Mary 
- Ken 
- Lorraine 

我已經試過VLOOKUP,但我Lookup_Array中是範圍(M列),我不知道如何管理。我開始了一個嵌套IF,但我必須要有一個更直接的方法來做到這一點。

任何幫助,將不勝感激

+0

如果您可以包含數據外觀的一個小例子,這將有所幫助。 –

+0

添加了一些數據,如果這有幫助,現在讓我來。基本上,用戶將處於不同級別的領導層級。我將它比較的VP列表只會在層次結構中出現一次。 – user2222976

回答

0

這是一個有點羅嗦,但應該做的工作。

公式細胞G1(其可以被複制向下進入G2..G1000)

=IF(ISNA(VLOOKUP(A1,$M:$M,1,0)),"",VLOOKUP(A1,$M:$M,1,0)) 
&IF(ISNA(VLOOKUP(B1,$M:$M,1,0)),"",VLOOKUP(B1,$M:$M,1,0)) 
&IF(ISNA(VLOOKUP(C1,$M:$M,1,0)),"",VLOOKUP(C1,$M:$M,1,0)) 
&IF(ISNA(VLOOKUP(D1,$M:$M,1,0)),"",VLOOKUP(D1,$M:$M,1,0)) 
&IF(ISNA(VLOOKUP(E1,$M:$M,1,0)),"",VLOOKUP(E1,$M:$M,1,0)) 
&IF(ISNA(VLOOKUP(F1,$M:$M,1,0)),"",VLOOKUP(F1,$M:$M,1,0)) 
+0

謝謝,那是它! – user2222976

0

你的數據結構使得任何數據處理困難。我提出以下建議:

ROW NO.| USER | PERSON | LEADER? 
row 1 | user1 | John | 0 
row 2 | user1 | Rick | 0 
row 3 | user1 | Mary | 1 
row 4 | user2 | Rick | 0 
row 5 | user2 | Mary | 1 
  1. 您可以將原始數據結構(7列)轉換爲上述一(2列 - 用戶,個人)容易
  2. ,你可以添加第三列指示是否該人是一前導(瑪麗=> 1)
  3. 最後,將很容易查找前導

注意,使用這種數據結構,所有的公式將是簡單明瞭。您也很容易創建不同類型的報告。

我明白,視覺上7列結構看起來更吸引人,但它是數據處理能力的權衡。因此,我建議你先將7列結構轉換爲2列結構,然後用簡單的公式。這樣你就可以從兩種結構中受益。