提取对应于唯一ID列的两个最小值
我有两行,即: ID
和Time
。 我想提取对应于唯一列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值(使用标准)。
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。