如何在 Excel 中的随机列中获取两个日期之间的差异

如何在 Excel 中的随机列中获取两个日期之间的差异

我有一张大约有 8000 行的电子表格,其中有一个 rowID 和 11 列,其中包含日期。每行有两个日期,但只有两个日期;也就是说,其他九列是空白的。我想计算这两个日期之间的差值。使用一堆嵌套IF函数来识别非空白的两列似乎非常不雅观。有没有一种简单的方法可以做到这一点?

任何建议都将被感激地接受。

样本数据(同下)

| RowID    | Random1    | Random2    | Random3    | Random4    | Random5 | Random6    | Random7    | Random8    | Random9    | Random10   | Random11   |
|----------|------------|------------|------------|------------|---------|------------|------------|------------|------------|------------|------------|
| 63868570 |            | 10/11/2020 | 21/11/2020 |            |         |            |            |            |            |            |            |
| 63882092 | 10/11/2020 |            | 15/11/2020 |            |         |            |            |            |            |            |            |
| 64387749 |            | 13/11/2020 |            | 10/11/2020 |         |            |            |            |            |            |            |
| 64455143 |            | 13/11/2020 |            |            |         |            | 10/11/2020 |            |            |            |            |
| 64523533 |            | 10/11/2020 |            |            |         | 18/11/2020 |            |            |            |            |            |
| 64609166 |            | 10/11/2020 |            |            |         |            | 21/11/2020 |            |            |            |            |
| 64720036 | 13/11/2020 |            |            |            |         |            |            |            |            |            | 10/11/2020 |
| 64738281 |            | 10/11/2020 |            |            |         |            |            |            | 21/11/2020 |            |            |
| 64778400 |            | 13/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 64857763 |            | 13/11/2020 |            |            |         |            |            | 10/11/2020 |            |            |            |
| 64934656 |            | 13/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 64962687 |            | 10/11/2020 | 20/11/2020 |            |         |            |            |            |            |            |            |
| 64966825 |            | 15/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 64979371 | 19/11/2020 |            |            |            |         |            |            |            |            |            | 10/11/2020 |
| 65054149 |            | 19/11/2020 |            |            |         |            |            |            |            |            | 10/11/2020 |
| 65065845 |            | 13/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 65078532 |            | 13/11/2020 |            |            |         |            |            |            |            | 10/11/2020 |            |
| 65092915 |            | 13/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 65210760 |            | 10/11/2020 |            |            |         |            |            |            | 19/11/2020 |            |            |
| 65211080 |            | 10/11/2020 |            |            |         |            |            |            | 19/11/2020 |            |            |
| 65228686 |            | 10/11/2020 | 18/11/2020 |            |         |            |            |            |            |            |            |
| 65366207 |            | 10/11/2020 | 20/11/2020 |            |         |            |            |            |            |            |            |
| 65464270 |            | 19/11/2020 |            |            |         |            |            |            |            |            | 10/11/2020 |
| 65464473 |            | 19/11/2020 |            |            |         |            |            |            |            |            | 10/11/2020 |
| 65480131 |            | 20/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |
| 65505910 |            | 13/11/2020 | 10/11/2020 |            |         |            |            |            |            |            |            |

上面显示的日期格式为 dd/mm/yyyy;假设它们存储为正确的 Excel 日期。

答案1

这里可能有多种方法:

  1. =MAX(B2:L2)-MIN(B2:L2)
  • 这可能是最简单的公式,如果您总是希望获得积极的结果,那么它就可以正确运行。
  • 有时候如果您也需要显示负面差异,那么这将不起作用。

在此处输入图片描述

  1. =SUMPRODUCT(FILTER(B2:L2,B2:L2<>""),{-1,1})
  • FILTER是一项非常强大的功能,最近推出并可在 Office 365 中使用。
  • 使用此公式,您还可以尊重日期的顺序并在必要时返回负差。

在此处输入图片描述

答案2

=LARGE(B2:L2,1)-LARGE(B2:L2,2)

LARGE将找到行中的最大值和第二大值。根据您对工作表的描述,它们将是两个非空值。

DATEDIF如果需要,请使用该功能(如果您有的话)。

答案3

这将查找行中随机列中两个日期之间的天数:

在此处输入图片描述

  • 单元格 L2 中的公式:

    =DAYS(SMALL(B2:K2,2),SMALL(B2:K2,1))

  • DAYS 函数返回两个日期之间的天数,这里 SMALL 查找第二小和第一小。

根据需要调整公式中的单元格引用。

相关内容