=LOOKUP(1,0/((A1:A100<F2)*(B1:B100=E2)),C1:C100)
公式A:A<--"2015-1-12"有问题,时间对Excel来说是个数字,要引用2015-1-12这天,应该使用函数DATE(2015,1,12)
我的2003版本,直接引用A、B、C整列的话,出错。如果是高版本,可以试下能不能直接引用整列。
我的公式在03版里验证了。
大概解释下:A列小于某个时间,会得到一组TRUE和FLASE组成的数组;B列等于上海,同理。两者相乘,也就是得到满足这两个条件的结果为1,不满足的结果为0,形成一个新的数组。0除数组,得到由0和错误组成的数组。LOOKUP查找1,利用LOOKUP的特性,没有符合条件的,会查找小于的最大值。也就是最后一个0出现的位置。即,最后一行满足小于指定时间,又等于指定城市的行,对应的C列的值,就是所要的结果。