excel 两列数据中,其中一列是有相同数据,后面一列是不同的时间,怎么找出相同数据最后时间和最前的时间

比如,A列里面有相同的数据,B列是时间(时间是有顺序的),我要在D1、D2里用公式求出甲乙丙丁分别的最早的时间和最晚的时间,用什么公式才能求出来呢??请哪个大仙帮小弟解决一下!!非常感谢!!(我的行等级不够,,插入不了图片下面这粗图请不要介意)

A B C D
1 甲 2011-4-25 6:54 甲 甲最早时间
2 丁 2011-4-25 7:02 甲 甲最晚时间
3 甲 2011-4-25 7:02 乙 乙最早时间
4 乙 2011-4-25 7:03 乙 乙最晚时间
5 乙 2011-4-25 7:08 丙 丙最早时间
6 丙 2011-4-25 7:09 丙 丙最晚时间
7 丁 2011-4-25 7:12 丁 丁最早时间
8 甲 2011-4-25 7:26 丁 丁最晚时间
9 乙 2011-4-25 7:29
10 丙 2011-4-25 7:32
11 乙 2011-4-25 7:36
12 丙 2011-4-25 7:44

点击B列日期格式,“格式刷”刷向D列,在D1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式

=IF(MOD(ROW(),2)=1,MIN(IF(A$1:A$12=C1,B$1:B$12)),MAX(IF(A$1:A$12=C1,B$1:B$12)))

详见附图示例

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-31

见截图

D1输入

=TEXT(IF(COUNTIF(C$1:C1,C1)=1,MIN(IF(A:A=C1,B:B)),MAX(IF(A:A=C1,B:B))),"yyyy/m/d h:mm")

数组公式,先按住CTRL+SHIFT,最后回车

公式下拉

本回答被网友采纳
第2个回答  2011-04-30
设你的数据是从A2开始,
D2公式
=TEXT(INDEX($B$1:$B$18,SMALL(IF(($A$1:$A$18=C2)*(IF(MOD(ROW(),2)=0,MIN($B$1:$B$18),MAX($B$1:$B$18))),ROW($B$1:$B$18),4^8),ROW($A$1))&""),"yyyy-m-d hh:mm")
注意是数组公式,请ctrl+shift+回车结束公式输入
然后下拉。
公式中的18请根据你的实际数据行数调整,此例为假设你A列数据到18行
以上……
---------------------------------------------------------------------------------------------------------------
本人新建团 “数字精灵”
http://zhidao.baidu.com/team/view/%CA%FD%D7%D6%BE%AB%C1%E9
诚邀高手加入……追问

这个是最早的时间,,那么最晚的时间呢,,我对这些不怎么懂,还得再麻烦一下

追答

公式下拉,会自动计算的。
公式中我设定了一个求最早一个最晚。

追问

不对啊,这就一个公式啊,我下拉都是最早的哦,或者在另一列取得最晚的时间也可以,,应该怎么搞呢,,麻烦了

追答

哈哈。我犯了个低级错误
=TEXT(INDEX($B$1:$B$18,SMALL(IF(($A$1:$A$18=C2)*MIN($B$1:$B$18),ROW($B$1:$B$18),4^8),ROW($A$1))&""),"yyyy-m-d hh:mm")
这是求最早的
=TEXT(INDEX($B$1:$B$18,LARGE(IF(($A$1:$A$18=C2)*MAX($B$1:$B$18),ROW($B$1:$B$18),-65535),ROW($A$1))&""),"yyyy-m-d hh:mm")
这是求最晚的
都是数组公式。

本回答被提问者采纳
第3个回答  2017-08-01
E1中输入公式:
=MIN(IF($A$1:$A$12=D1,$C$1:$C$12,4^8))
同时按Ctrl+Shift+Enter三键输入数组公式
E2中输入公式:
=MAX(($A$1:$A$12=D2)*$C$1:$C$12)
选择E1:E2两个单元格,下拉。
第4个回答  2017-07-31
建议将时间列(B列)格式按日期格式设置。则B列时间可以视同数值一样进行比较取值。
则数组公式如下:
最早:E1={MIN(IF((B:B=D1)*C1:C=0,"",(B:B=D1)*C:C))}
最晚:E2={MAX((B:B=D2)*C:C)}
相似回答