在 Excel 中查找一个月的最后一天并删除所有其他行

在 Excel 中查找一个月的最后一天并删除所有其他行

我看到了相关问题,在 Excel 中选择第 n 行,这非常有帮助,除了我需要知道每个月的最后一天工作日是哪一天。

带有重要数据圈出的 Excel 工作簿 我该怎么做呢?

答案1

这是公式和概念证明

将其放入第二行的空列中:

=A2=MAX(IF((YEAR(A2)=YEAR($A$2:$A$70))*(MONTH(A2)=MONTH($A$2:$A$70)),$A$2:$A$70))

这是一个数组公式,因此退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。如果操作正确,Excel 会将{}公式放在一边。

或者这个非 CSE 数组公式:

=A2=AGGREGATE(14,6,$A$2:$A$70/((YEAR(A2)=YEAR($A$2:$A$70))*(MONTH(A2)=MONTH($A$2:$A$70))),1)

正常输入即可。

然后抄下来。

这将查找列表中月份的最大日期,如果 A 列中的日期等于该日期,则返回 true。

然后过滤所有 FALSE 并删除。

在此处输入图片描述

答案2

因此,有两种情况 - 情况 1) 当您知道该月的最后几天时。(这更简单)。

我有一份两周一次的数据。我采用了这种简单而创新的方法。从所有日期中,我首先使用 Day() 函数提取日期。例如,Day(A1)。(请记住,执行此操作时,不要删除原始日期列。在单独的列中执行此操作,因为这将有助于您稍后匹配日期)。然后我使用之前刚刚构建的 Day 列按降序对数据进行排序。这会将所有结束日期放在首位。然后删除位于底部的开始日期。所以,现在我只剩下结束日期,但显然月份没有按顺序排列。因此,使用 =MONTH(A1) & "/" & YEAR(A1) 创建另一个列,仅从原始日期列中提取月份和年份。使用此列对数据进行排序。然后,您就可以开始了!

情况 2)当您没有确切的最后日期,但有像上图所示的最大日期时。

在此,在删除初始日期时,您必须注意需要删除哪些日期。例如,我删除了 31 天月份的第 17 天及以后的日期(包括第 17 天)和 30 天月份的第 16 天及以后的日期(如果有),因为如果有这个日期,假设是 2018 年 4 月 18 日,那么这将是该月的最后一天,因为我有两周一次的数据。

相关内容