vlookup中目标所在区域中重复数据超过2个,怎么样查找时间最近的那个数据

如图,excel sheet1中香蕉有三个人在不同的时间卖出,我想要查出最后一个销售香蕉的人“丁”,但是用vlookup公式,只得出表格中排序第一个销售的人“甲”,要如何设置公式才能查到最近一次卖出香蕉的人?
在不改变原表排序的情况下查找时间最近一次的。

这个不能用VLOOKUP函数,先要返回符合产品品种且日期最大的行号,再返回销售人员。

公式为:

=INDEX(C:C,MOD(SUMPRODUCT(MAX(($A$2:$A$10=F2)*$B$2:$B$10*100+ROW($B$2:$B$10))),100))

追问

是不是所有这类查找时间最近一次的,都可以用你这个公式。
到时我要用到的表,不止这些产品,产品超过几万个,公式里面的100会有限制么,可以直接套用这个公式么

追答

  如果数量多,就不能用100。
  这里因为行号是2~10,两位数,所以乘100加上行号(之所以乘100,是因为不会因为加上行号,而影响取到的最大值仍是日期最大值),取出最大值后,再取100的余数,得到的即是最大日期所在的行号,即100后面的这两个0是留着加行号的。
  如果行号是5位数,比如236:21560行,那就将*100改成*100000,最后再取100000的余数,即可得到相应的行号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-05
在G2输入公式=INDEX($C$2:$C$10,MATCH(F2&MAX(IF($A$2:$A$10=F2,$B$2:$B$10,"")),$A$2:$A$10&$B$2:$B$10,0))在编辑状态下按ctrl+shift+enter结束,就会得到你想要的结果,望采纳。追问

虽然公式不明觉厉,但是确实得到丁了……能稍微解释下原理么……

INDEX是用来做啥的?

如果我不止要匹配香蕉,还要匹配苹果等等,都可以直接复制这个公式么

追答

下拉就好了,只要产品a列和F列的名字一样都是可以的,解释的话很麻烦的,因为涉及了很多内容,你可以先看函数说明,然后按F9看运行结果,这样去学习了。

第2个回答  2015-12-05
把A1,C10这里按销售日期排序就行了追问

在不改变原表排序的情况下,怎么查找。

第3个回答  2015-12-05
时间用降序就可以了追问

在不改变原表排序的情况下,怎么查找。