如何在Excel中获取一组重复单元格中的最大和最小日期

时间:2016-09-21 06:42:53

标签: excel

我试图从一组具有相似名称的单元格中获取最大和最小日期和时间。我的表格结构如下:

+------+----------+------------------+------------------+------------------+
|  ID  |  Stage   |       Date       |       Min        |       Max        |
+------+----------+------------------+------------------+------------------+
| 2895 | Planning | 01-06-2016 15:40 | 01-06-2016 15:40 | 06-06-2016 13:06 |
| 2895 | Costing  | 02-06-2016 17:59 | 02-06-2016 17:59 | 27-06-2016 14:13 |
| 2895 | Costing  | 04-06-2016 10:16 | 02-06-2016 17:59 | 27-06-2016 14:13 |
| 2895 | Planning | 06-06-2016 13:06 | 01-06-2016 15:40 | 06-06-2016 13:06 |
| 2895 | Costing  | 08-06-2016 11:25 | 02-06-2016 17:59 | 27-06-2016 14:13 |
| 2895 | Booking  | 09-06-2016 13:16 | 09-06-2016 13:16 | 27-06-2016 19:33 |
| 2895 | New      | 17-06-2016 23:47 | 17-06-2016 23:47 | 17-06-2016 23:47 |
| 2895 | Costing  | 27-06-2016 14:13 | 02-06-2016 17:59 | 27-06-2016 14:13 |
| 2895 | Booking  | 27-06-2016 19:33 | 09-06-2016 13:16 | 27-06-2016 19:33 |
| 3113 | Costing  | 07-06-2016 17:33 | 07-06-2016 17:33 | 11-06-2016 11:48 |
| 3113 | Costing  | 11-06-2016 11:48 | 07-06-2016 17:33 | 11-06-2016 11:48 |
| 3113 | Booking  | 11-06-2016 19:12 | 11-06-2016 19:12 | 15-09-2016 18:11 |
| 3113 | Won      | 22-07-2016 17:29 | 22-07-2016 17:29 | 15-09-2016 18:12 |
| 3113 | Booking  | 23-08-2016 14:07 | 11-06-2016 19:12 | 15-09-2016 18:11 |
| 3113 | Won      | 23-08-2016 14:13 | 22-07-2016 17:29 | 15-09-2016 18:12 |
| 3113 | Booking  | 15-09-2016 18:11 | 11-06-2016 19:12 | 15-09-2016 18:11 |
| 3113 | Won      | 15-09-2016 18:12 | 22-07-2016 17:29 | 15-09-2016 18:12 |
+------+----------+------------------+------------------+------------------+

ID和不同日期下可能有多个阶段。我想知道最短日期和最长日期。

我已经能够使用查询

在Google表格上实现这一目标

=query($A2:$C18,"select C where A='" & A2 &"' and B='" & B2 &"' order by C desc limit 1 ")

尝试此操作时出错。我如何在Excel上实现这一目标?任何帮助将不胜感激:)

3 个答案:

答案 0 :(得分:0)

您可以使用Excel中的MINIFS来实现此目的。

D2输入=MINIFS($C$2:$C$18,$A$2:$A$18,A2,$B$2:$B$18,B2)并向下拖动。 同样。在MAXIFS中使用E2(假设您的数据范围是A1E18

此公式类似于SUMIFS。它根据指定的标准从第1个范围返回最小值。

注意:使用此公式计算大量数据时计算速度非常慢

答案 1 :(得分:0)

此数组公式可能适合您:

=MIN(IF($A$2:$A$18=A2,IF($B$2:$B$18=B2,$C$2:$C$18)))

=MAX(IF($A$2:$A$18=A2,IF($B$2:$B$18=B2,$C$2:$C$18)))

由于这些是数组公式,因此您必须使用 Ctrl + Shift + 输入来应用它们。

答案 2 :(得分:0)

您可以使用如下的数组公式:

{=MAX(IF(($B$4:$B$20=B2)*($A$4:$A$20=A2),$C$4:$C$20,""))}