我有两张桌子。我想从table2中找到一个与条件对应的D列值:table2的C列等于table1的列“C& D”,table2的列I是“ok”。
表1
我在想这个公式:
=IF(AND(F3="si";KIT!I3="ok");VLOOKUP(C3&D3;KIT!C:D;2;0);)
但遗憾的是它不起作用,只取得第一个查找值。
答案 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列中的相应值作为结果。
希望这有点道理!