2016-09-23 49 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。数组公式中不应使用完整的列引用。 –