2016-09-23 46 views
1

我有這個Excel文件。 佈局是這樣的:在Excel中返回多個值

[表Sheet 1]

No | Alphabet | Fruit 
1 | ABC | 
2 | DEF | 
3 | GHI | 

[Sheet 2中]

Alphabet | Fruit 
ABC | apple 
ABC | pear 
DEF | vegetable 

我想填寫 '果實' Sheet 1中列(多個)。

我現在擁有的是這(我把在C2和拖累):

=INDEX(list!$A:$B,MATCH($B2,list!$A:$A,0),2) 

不幸的是,這只是讓我對每個字母的第一場比賽,這樣的:

[工作表Sheet1 ]

No | Alphabet | Fruit 
1 | ABC | apple 
2 | DEF | vegetable 
3 | GHI | #N/A 

我想要做的是(在Sheet1)返回所有匹配水果下和替換「蔬菜」和「#N/A」到「NIL」,像這樣:

[工作表Sheet1]

No | Alphabet | Fruit 
1 | ABC | apple | pear 
2 | DEF | NIL 
3 | GHI | NIL 
+0

當DEF有蔬菜和水果時會發生什麼?在另一個上返回一個和NIL?或者這種情況不會發生? –

+0

如果發生這種情況,只返回水果。它確實發生了,但在你提到它之前我完全忘記了這種情況。 – qnxyy

回答

0

以下數組公式會做一定程度上你想要什麼:

=IFERROR(INDEX(Sheet2!$B$2:$B$4,MATCH(1,(Sheet2!$B$2:$B$4<>"Vegetable")*(Sheet2!$A$2:$A$4=$A1)*(COUNTIFS($A1:A1,Sheet2!$B$2:$B$4)=0),0)),"") 

它會返回一個空字符串,而不是NIL

作爲它需要一個數組公式在退出編輯模式時用Ctrl-Shift-Enter確認而不是輸入。如果正確完成,Excel將在公式周圍放置{}

我與""而不是"NIL"一起去的原因是該公式被設計爲藥物/複製和複製。它將填充NIL的每個單元格,其中公式不是水果。

enter image description here

+0

無法正常工作。我注意到這可能是因爲您的Sheet1缺少第一行和第一列。我試圖編輯公式中的字母,但仍然出現錯誤。 – qnxyy

+0

另外,您是否可以使公式選擇整個列而不是隻選擇表,因爲完整的數據是數千。 – qnxyy

+0

如果您的數據是成千上萬,您將需要VBa。這些數組公式會導致excel失效。如果它不起作用,我敢打賭你在退出編輯模式時沒有使用Ctrl-Shift-Enter。數組公式中不應使用完整的列引用。 –