如何在Excel中返回符合两个条件的行值

时间:2018-02-15 16:22:10

标签: excel excel-formula excel-2013

我有一个Excel电子表格来跟踪项目活动。

在A栏中,我有项目名称,并且它会重复几次,因为同一个项目有几个活动。

在B栏中,我有与该项目相关的活动。

在C栏中,我有每项活动的完成百分比。

我想要完成的是:在D列中,返回项目的第一个活动,该活动不是100%。

以下是我想要完成的图片:

Expected Result

我试着这个公式没有运气:

=INDEX($B$2:$B$19,MATCH(TRUE,INDEX($C$2:$C$19<>100%,),0))

然后我发现这个贴在这里:

  

Return smallest unique value that meets criteria

在这里:

  

multiple criteria small function excel

但是我无法让他们做我想做的事。 任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:1)

您需要匹配两个条件,项目和百分比:

=INDEX($B$2:$B$19, MATCH(A2&TRUE, $A$1:$A$19&($C$1:$C$19 <> 1), 0))

这需要使用公式框中的Ctrl + Shift + Enter作为数组公式输入。

答案 1 :(得分:1)

对于它的价值,这里有一个比@ AlexisOlson更准确的公式:

=INDEX($B$2:$B$19,MATCH(1,($A$1:$A$19=A2)*($C$1:$C$19<>1),0))

通常,在MATCH内进行连接并不是一个好主意,因为它可能会导致错误的结果。

例如:

= MATCH("12"&"34",{"1","12"}&{"234","34"},0)

当你真正希望它返回2时,这个公式会返回1。

更改为:

= MATCH(1,({"1","12"}="12")*({"234","34"}="34"),0)

将消除错误选择错误查找值的任何风险。

当然,在这种特殊情况下,它没有任何区别,因为$C$1:$C$19<>1无法返回除TRUEFALSE以外的任何其他内容,但它只是某种东西要注意。

我唯一一次在&内使用MATCH方法是因为我真的希望在单个范围内找到字符串的串联,例如类似的东西:

= MATCH("John"&" "&"Doe",{"John Doe","Bill Miller","Mike Jones"})