获取满足多个条件下最后一个不为空的数据
前面文章介绍的是在单列或单行里取数,条件是一个。
其实,我们也可以使用条件表达式来组合多个条件,从而实现多条件查找最后一个数据。
下图是一个多个材料的采购流水,现在要求把每个材料的最新采购日期、最新采购价格、最新采购数量提取出来,那么查找公式分别如下。

单元格I2:
=LOOKUP(1,
0/(($B$2:$B$1000<>"")*($B$2:$B$1000=H2)),
$A$2:$A$1000)
单元格J2:
=LOOKUP(1,
0/(($B$2:$B$1000<>"")*($B$2:$B$1000=H2)),
$D$2:$D$1000)
单元格K2:
=LOOKUP(1,
0/(($B$2:$B$1000<>"")*($B$2:$B$1000=H2)),
$C$2:$C$1000)
公式中,条件表达式 ($B$2:$B$1000<>"")*($B$2:$B$1000=H2)就是构建了两个条件同时满足的数组向量。
这种多条件查找,也是利用了前面介绍的原理,构建一个由0和错误值构成的数字,然后从这个数组中找哪个位置的是数字0,再把该位置的数据去处理。
----------------------

