excel表中,内容如下:
A
B
人名 下单时间
1
龙飞
6月2日
2
凯奇
4月5日
3
主席
4月9日
4
龙飞
5月21日
5
龙飞
9月23日
6
凯奇
8月5日
7
主席
5月10日
8
龙飞
4月5日
9
…
…
10
人名有重复
----) 要求在C1输入人名后,在D1用公式显示对应的人名最新的下单时间;
----) 要求在C2输入人名后,在D2用公式显示对应的人名在5月4日后最近的下单时间(比如人名是龙飞,5月4后最近的下单时间应是5月21日)
设置D列单元格为日期格式
在D1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束
=MAX(IF(A2:A9=C1,B2:B9))
公式表示:A2:A9等于C1时对应B列的最大值
在D1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束
=MIN(IF((A2:A9=C2)*(B2:B9-"2015-5-4">=0),B2:B9))
公式表示:A列等于C2且B列大于5月4日时对应B列的最小值
详见附图
=MAX((A2:A9=C2)*(B2:B9));
第二个:
=IF((A2:A9=C2)*(B2:B9>DATE(2014,5,4))=0,"",MIN(IF((A2:A9=C2)*(B2:B9>DATE(2014,5,4))=0,"",(A2:A9=C2)*(B2:B9>DATE(2014,5,4))*(B2:B9))));
都是数组公式,算出来的是数值,把单元格格式设置为日期格式就行,根据你的表格区域调整公式。本回答被提问者采纳
=INDEX(A:A,MOD(MAX((A$1:A$1000=C1)*(B$1:B$100)*10000+ROW($1:$10000)),10000))
公式以CTRL+SHIFT+ENTER三键结束。追问
亲,根据您提供的公式,也是没能显示出结果哦。
公式中的数据范围要根据你的实际情况修改,比如数据从第3行到第10行,公式改为:
=INDEX(A:A,MOD(MAX((A$3:A$10=C1)*(B$3:B$10)*10000+ROW($3:$10)),10000))