2016-02-19 64 views
0

我有以下的Excel结构:Excel中:返回它们具有相同的行中的错误的所有值

A1: Item 1 
A2: Item 2 
A3: Item 3 
A4: Item 4 

B1: some value 
B2: #N/A 
B3: #N/A 
B4: some other value 

我需要一个数组公式,将返回以下:

C1: Item 2 
C2: Item 3 

我第一次尝试是使用这样的:

{=INDEX(A:A;MATCH(???;B:B;0))} 

问题是,不知道如何去寻找#N/A在比赛FUNC所以我改变我的数据显示“0”,而不是#N/A。然后我适于下式这样:

{=INDEX(A:A;MATCH("0";B:B;0))} 

一旦我输入与CTRL + SHIFT式 + ENTER,我只得到第一值(第2项)。我怎么能得到这两个?

感谢, 米尔恰

+0

为什么不这样做:你'#N/A值由一个公式来。将'Iferror()'包裹在它周围(即'= IfError([你的整个公式],“错误”)')然后使用Index/Match查找“Error”。(编辑:这不会完全工作,因为索引/匹配返回第一个匹配,除非你有其他信息要查找。给我一秒钟,我有一个解决方案)。 – BruceWayne

+0

下面的公式是否适合您?如果是这样,请标记出一个正确的工作。只有你能做到这一点。它会将问题标记为已回答。如果他们不工作,一些反馈将帮助我们帮助你。 –

回答

2

如果你有2010或晚使用这个公式:如果你有2007或更早版本比使用数组公式

=IFERROR(INDEX($A$1:$A$4,AGGREGATE(15,6,ROW($1:$4)/(ISERROR($B$1:$B$4)),ROW(1:1))),"") 

=IFERROR(INDEX($A$1:$A$4,SMALL(IF((ISERROR($B$1:$B$4)),ROW($1:$4)),ROW(1:1))),"") 

被一个数组需要通过Ctrl-Shift-Enter确认。

将4改为数据的最后一行。

只要你需要复制下来。在照片中,公式贯穿第四行。

enter image description here

+2

我只是在想你会解决这个问题 - 根据你过去发布的内容:) –

+1

唉,你只是快点。做得很好。无论如何,我会发布我的解决方案,它也是一样的,但我真的需要学习'Aggregate()'。 – BruceWayne

1

矿确实很像@ ScottCraner的,我只是想我会在这里发布FYI(我喜欢他的解决方案的更多,虽然,国际海事组织,因为你不必太编辑其他配方):

IfError()周围的公式,真实返回#N/A错误:=IfError([your formula],"Error")然后

随着A1的数据:B4(像斯科特的截图),在E1中输入验证: =IFERROR(INDEX(A$1:A$4,SMALL(IF(B$1:B$4="Error",ROW(B$1:B$4)-ROW(B$1)+1),ROWS(B$1:B1))),"")

输入CTRL + SHIFT + ENTER然后拖下来。

编辑:如果有人有关于如何不需要编辑IsError()的提示,我会很感激!

编辑2:啊,感谢斯科特的回答。 你可以使用这个公式,而无需编辑原件包括IfError()=IFERROR(INDEX(A$1:A$4,SMALL(IF(ISERROR($B$1:$B$4),ROW(B$1:B$4)-ROW(B$1)+1),ROWS(B$1:B1))),"")

相关问题