在某些情况下,大家希望从已排序的数据中返回最后一条记录的信息,例如在附件所示的表格中,G4单元格中的公式可以返回某天某客户的最后一次进货量。 {=LOOKUP(G3,IF(A2:A10=G2,B2:D10))} 思路解析: 数据表中记录已经按日期和姓名进行了升序排列,按照LOOKUP函数的功能特点,公式返回8月8日张三最后一次进货量的记录。 如果数据表的记录未经排序,如附件第二个表所示,改用下面的公式也可以返回相同的查找目标。 {=LOOKUP(9E+307,IF((A2:A10=G2)*(B2:B10=G3),D2:D10))} 思路解析: 公式中使用IF函数将不满足条件的记录进行过滤,重新生成内存数组。由LOOKUP函数对内存数组进行模糊查找,返回最大的数值,得到结果60。 另外,也可以使用INDEX函数与MATCH函数的组合来实现,原理相同。 {=INDEX(D2:D10,MATCH(2,1/((A2:A10=G2)*(B2:B10=G3))))}
[此贴子已经被作者于2007-9-20 19:00:15编辑过] |