具有多种结果的Excel LOOKUP

时间:2014-09-14 15:04:00

标签: excel excel-formula lookup

Excel LOOKUP有多个结果

目前我正在使用公式:= LOOKUP("待定",DK6,A6)

因此,如果DK6的单元格内容显示为“Pending”,则显示来自单元格A6的值。

我需要添加一些更多的条款,并希望获得有关如何构建公式的一些帮助。我正在寻找的逻辑如下......

LOOKUP("待定",DK6,A6)> ?ELSEIF? > LOOKUP(“委托”,DK6,保留单元格空白)> ?ELSEIF? > LOOKUP(“拒绝”,DK6,保留单元格空白)> ?ELSEIF? > LOOKUP(空白单元格,DK6,保留单元格空白

2 个答案:

答案 0 :(得分:1)

如果您需要ELSEIF公式,则需要嵌套IF公式,例如:

=IF(DK6="Pending",A6,IF(DK6="Delegated","",IF(DK6="Rejected","",IF(DK6="",""))))

你给出的逻辑可以简化,因为在最后三种情况下将单元格留空,所以你可以使用:

= IF(DK6 = “待定”,A6, “”)

答案 1 :(得分:0)

要获取多个匹配行的列表,您可以应用SMALLL()来获取第一个,第二个,第三个等值。

enter image description here

DL2中的公式是,

=IFERROR(INDEX($A$2:$A$99, SMALL(INDEX(ROW($1:$98)+($DK$2:$DK$99<>"Pending")*1E+99,,),ROW(1:1))),"")
  ... or,
=IFERROR(INDEX($A$2:$A$99, SMALL(INDEX(ROW($1:$98)+($DK$2:$DK$99<>DL$1)*1E+99,,),ROW(1:1))),"")

要收集列DK空白的A列中的单元格略有不同。

=IFERROR(INDEX($A$2:$A$99, SMALL(INDEX(ROW($1:$98)+(($A$2:$A$99="")+($DK$2:$DK$99<>""))*1E+99,,),ROW(1:1))),"")

这些公式似乎比另一个线程中提供的数组公式更合适。 A列中的值本质上是唯一的,因此无需进行补偿。