在 MS Excel 中进行复杂的日期排序?

在 MS Excel 中进行复杂的日期排序?

有一个 Excel 2016 文件,其中包含有关一些事件的数据,主表包含每个事件的 ID 和日期,如下所示:

ID  Date
1   2017-10-02
2   2017
3   2017-09
4   2017-09-25
…   etc.

大多数日期都包含年、月、日,但有些日期不知道具体日期,有些日期仅精确到年份。

在另一张表上,我希望按照以下算法按日期(最新优先)排序此范围:

  1. 首先,所有具有完整日期的事件都按通常方式排序。
  2. 其次,对于任何只有月份的事件,它将被插入到该月的中间:不是在第 15 天,而是在已经排序的事件的前半部分和后半部分之间。
  3. 第三,对于只有年份的事件,将其插入到今年的中间,类似于第 2 项。

是否可以使用没有 VBA 的 Excel 公式实现这一点?(很重要!),而无需为缺席的事件分配虚假的月份和日期?

答案1

由于您需要非 VBA 解决方案,因此我想向您推荐最简单的解决方案,要实现它,您需要遵循以下步骤。

第一部分

  1. 选择整个数据范围。

  2. 按日期升序排列。

  3. 最后应用过滤器。

查看屏幕截图,

在此处输入图片描述

笔记,最后一行只有年份(2017),将单元格格式化为文本,因为 Excel 不允许在单元格中仅写入年份。

第二部分,

  1. 第一个过滤数据具有完整日期值。

  2. 将过滤后的数据复制并粘贴到其他地方。

  3. 下一个过滤数据有月份和年份,也将其复制并粘贴到其他地方。

  4. 最后仅用年份过滤数据,然后复制并粘贴它们。

您过滤后的数据看起来如下面的屏幕截图所示。

在此处输入图片描述

请注意如果在这种情况下您不需要分离数据,则不需要第二部分,因为在第一部分之后,您将按照所需的顺序获取数据。

我确实相信,这个解决方案可以为您提供帮助,如果没有,只需发表评论。

相关内容