提取对应于唯一ID列的两个最小值

我有两行,即: IDTime 。 我想提取对应于唯一列ID的两个最小时间值。

 ID Time 27604 13:00:12 27604 13:00:32 27604 13:00:34 27604 13:00:38 27604 13:00:41 27604 13:00:47 27604 13:00:50 27605 13:00:20 27605 13:00:23 27605 13:00:39 27605 13:00:42 27605 13:00:45 27605 13:00:48 27605 13:00:54 27605 13:00:57 27605 13:01:00 27606 13:00:49 27606 13:00:52 27606 13:00:55 27606 13:01:01 27606 13:01:04 27606 13:01:07 

对于ID 27604,我只想提取13:00:12和13:00:32。

对于ID 27605,我只想提取13:00:20和13:00:23。

对于ID 27606,我只想提取13:00:27和13:00:30。

我想提取所有这些值如下:

 27604 13:00:12 27604 13:00:32 27605 13:00:20 27605 13:00:23 27606 13:00:49 27606 13:00:52 

您可以使用AGGREGATE¹function的 SMALL子function (例如15)轻松实现SMALL值(使用标准)。

AGGREGATE MINIF

E4中的公式是,

 =AGGREGATE(15, 6, (B:B)/(A:A=D4), COUNTIF(D$4:D4, D4)) 

根据需要填写。 因为我们使用SMALL子函数,所以我们可以通过增加k参数来容易地检索第二,第三等比率,正如我已经用COUNTIF函数实现的一个递增范围和浮动标准一样。

6是忽略错误值的AGGREGATE参数。 通过划分时间是否列A是正确的ID我们正在#DIV/0! 任何我们不希望被忽视的东西的错误。

¹AGGREGATE¹函数是在Excel 2010中引入的,它在以前的版本中不可用。

我用这个从C2开始的数组公式来获得ID的对

 =IFERROR(INDEX(A$2:A$10,MATCH(TRUE,(COUNTIF(C$1:C1,A$2:A$10)<2),0)),"") 

而这个从D2开始得到前两次

 =SMALL(IF(A$2:A$10=C2,B$2:B$10),COUNTIF(C$2:C2,C2)) 

必须使用Ctrl Shift Enterinput

在一部分数据上进行testing。 每个ID必须至less有两次。

应该适用于大多数版本的Excel。

在这里输入图像说明