在日常的工作过程中,我们常常会面临需要列出两个指定日期之间的所有日期的情况,亦或是找出最近 7 天、15 天、30 天的日期等需求。今天,就为大家隆重分享一个超级厉害的 Excel 公式,能够轻松地解决上述这些问题。

场景一:列出两个指定日期之间的所有日期

如下图所示,假设我们需要列出 2024 年 7 月 1 日至 2024 年 7 月 14 日中间的所有日期。

此时,只需在目标单元格中输入以下公式:=IF ($B$1 ROW() - 1 >= $BB$1 ROW () - 1),接着下拉填充数据,一直到单元格内容变为空值为止。

解读:

  1. 公式中的$B这一部分,其作用是将单元格中的当前日期与当前行的行号相加,然后再减去。这里的函数是从单元格开始获取数据,起始值为,所以需要减去,如此一来,就能够使日期从开始依次递增。其中,B$1 表示开始日期,采用绝对引用的方式,这意味着无论公式被下拉填充到哪一行,它始终都会指向单元格 B1。
  2. 借助 IF 函数进行判断,如果$B所获取的日期大于或等于结束日期B,那么就返回空值;否则,返回对应的日期B$1 ROW() - 1。

excel实用公式:一键列出两个指定日期之间的所有日期-趣帮office教程网

场景二:列出最近 7 天 / 15 天 / 30 天的日期

如下图所示,我们期望根据下拉菜单中对应的最近 7 天、15 天、30 天的日期选项,从当前日期往前列出相应天数的日期。

只需在目标单元格中输入公式:=IF ($E$2 - $C$2 ROW() - 2 > $EE$2 - $C$2 ROW () - 2),然后下拉填充数据,直至单元格内容为空。

解读:

  1. 这个公式的原理与场景一有相似之处。$E$2 - $C是用到期日期减去往前的天数,以此来获得最早的天数。函数从单元格开始获取数据,起始值是,所以要减去,这样就能使日期从开始递增。同时,E和C$2 都需要采用绝对引用。
  2. 同样利用 IF 函数进行判断,如果$E$2 - $C获取的日期大于当前日期E,就返回空值;否则,返回对应的日期E$2 - $C$2 ROW() - 2。

excel实用公式:一键列出两个指定日期之间的所有日期-趣帮office教程网

如果想要列出从当前日期往回连续 7 天、15 天、30 天的日期,只需在目标单元格中输入公式:=IF ($E$2 ROW() - 3 >= $E$2 $CE$2 ROW () - 3),然后下拉填充数据,直至单元格内容为空。其原理与前面相同,这里就不再对这个公式进行详细解读。

excel实用公式:一键列出两个指定日期之间的所有日期-趣帮office教程网