如何用各种条件VLOOKUP?

时间:2015-10-07 15:10:43

标签: excel excel-formula

我有两张桌子。我想从table2中找到一个与条件对应的D列值:table2的C列等于table1的列“C& D”,table2的列I是“ok”。

表1

enter image description here

表2 enter image description here

我在想这个公式:

=IF(AND(F3="si";KIT!I3="ok");VLOOKUP(C3&D3;KIT!C:D;2;0);)

但遗憾的是它不起作用,只取得第一个查找值。

1 个答案:

答案 0 :(得分:2)

您可以使用:

=IF(F3="si";LOOKUP(2;1/(KIT!C:C=C3&D3)/(KIT!I:I="OK");KIT!D:D);0)

如果您可以限制行数而不是使用整个列引用,那会更好。

解释: (KIT!C:C=C3&D3)将返回True或False值的数组。 Excel将分别计算为1和0。 将1除以该数组将返回一个包含1或#DIV / 0的数组(1满足条件,否则为#DIV / 0)。 将结果除以(KIT!I:I="OK")数组具有类似的效果,结果数组仅包含1,其中满足所有条件,否则为#DIV / 0。

在此数组中搜索2将在该数组中找到小于或等于2的最后一个值。由于LOOKUP忽略错误,这将是最后一次出现1(唯一的情况是,如果只有一行匹配条件)

最后,返回D列中的相应值作为结果。

希望这有点道理!