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

如何在Excel中获取一组重复单元格中的最大和最小日期,excel,Excel,我试图从一组具有相似名称的单元格中获取最大和最小日期和时间。我的表格结构如下: +------+----------+------------------+------------------+------------------+ | ID | Stage | Date | Min | Max | +------+----------+------------------+------------------

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

+------+----------+------------------+------------------+------------------+
|  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 Sheets上实现这一点

=query($A2:$C18,“选择C,其中A='”&A2&“和B='”&B2&“按C描述的订单限制1”)


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

您可以使用excel中的
MINIFS
实现这一点

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

此公式类似于
SUMIFS
。它根据指定的条件返回第一个范围的最小值


注意:使用此公式计算大量数据会非常缓慢

您可以使用excel中的
MINIFS
实现此目的

D2
中输入
=MINIFS($C$2:$C$18,$A$2:$A$18,A2,$B$2:$B$18,B2)
,然后向下拖动。 类似地,在
E2
中使用
MAXIFS
(假设您的数据范围是
A1
E18

此公式类似于
SUMIFS
。它根据指定的条件返回第一个范围的最小值


注意:如果使用此公式计算大量数据,计算速度会非常慢。

此数组公式可能适用于您:

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


因为这些是数组公式,所以您必须使用Ctrl+Shift+Enter

应用它们。此数组公式可能适用于您:

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


由于这些是数组公式,您必须使用Ctrl+Shift+Enter

应用它们,您可以使用如下数组公式:

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

可以使用如下数组公式:

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

@TimWilliams-谢谢,但是,我想不出来。即使在Ctrl+Shift+输入之后,公式也不起作用。我们也做了**Ctrl+重音符号**来切换公式的开/关。仍然不起作用。而且,这将如何显示每一行相对于普通阶段的最短和最长日期?如果您能告诉我这是如何做到的,我将不胜感激。是吗你的日期可能不是实际日期,只是文本?@TimWilliams-谢谢,但我想不出这一点。即使在Ctrl+Shift+输入之后,公式也不会起作用。你还做了**Ctrl+重音标记**来切换公式的开/关。仍然不起作用。这将如何显示每行上与普通阶段相对应的最小和最大日期?我想知道如果你能告诉我这是怎么做的,我会非常感激。你的日期可能不是真的日期而是文字吗?