排序后的方法是可行的,INDEX与之查找出来的数据好像有出入。如果我想查找若干个名称对应的库存,如何做呢?
追答你的意思是B列为A的情况下,A列日期最大的不止一天,这样的情况。
还是B列为A的情况下,取出所有C列的数据,还是所有对应行的ABC列的数据都要。
我的意思是,如果我想查找多个数据对应的最新日期的值怎么做,比如还是数据A2:C20,然后D列有A、B、C等等若干个单据,那么可以用函数分别求出最新数据对应的值吗
追答若那些A,B,C放在D2:D4中,E2中输入
=INDEX(C$2:C$20,MATCH(MAX(IF(B$2:B$20=D2,A$2:A$20)),IF(B$2:B$20=D2,A$2:A$20),))
同时按下CTRL+SHIFT+回车,下拉。
第二个变为F2中输入
=LOOKUP(2,0/(B$2:B$20=D2),C$2:C$20)
下拉。
非常感谢,您帮了我大忙了~
追答不客气。
那你可以用函数满足我这个条件么?还是数据A2:C20,然后D列有A、B、C等等若干个单据,分别求出相对应的最新时间的库存值
追答B、C、D等单据也可以分别求取最新的库存值,只要把公式中的“A”改为“B”或“C”或“D”即可。
举例:
你可以在D列求名称“A”的库存值,方法见上面;然后在E列求名称“B”的库存值,公式
=INDEX(IF(B2:B20="B",C2:C20),MATCH(MAX(IF(B2:B20="B",A2:A20)),IF(B2:B20="B",A2:A20),))
也是数组公式。
再在F列求名称“D”的库存值......
每一个都进行修改,如果我有几百种产品的名称,不是很复杂很繁琐的工作吗?如果用相对或者绝对(我搞不清楚这个,O(∩_∩)O~)就简单多了,你明白吗?
追答也好办,只做一个查找,查找对象设为可变的就行了。
举例:
用D1单元格为查找对象单元格,你在D1中输入A或B或C或......
E1为查找结果,输入公式
=INDEX(IF(B2:B20=$D$1,C2:C20),MATCH(MAX(IF(B2:B20=$D$1,A2:A20)),IF(B2:B20=$D$1,A2:A20),))
同时按下CTRL+SHIFT+回车即可。当你改变D1的值,E1值也会跟着改变。
恩,你们两个的回答都帮了我很大的忙,非常感谢。
追答不敢居功,网友“山桑弓”是高手,我只是受他的启发。请采纳他的回答!