唯一的 Excel 日期查询/公式

唯一的 Excel 日期查询/公式

是否可以在相邻列中输入日期后预先填充某一列的日期?

以下是我被赋予的任务:

如果日期在当月 6 号或之前(<=)(例如 2019 年 1 月 1 日),则预填充日期应为下个月 21 日(+1 个月)(例如 2019 年 2 月 21 日)

如果日期在某月的第 6 号之后(>)(例如 2019 年 1 月 7 日),则预填充的日期应为第 21 号 +2 个月(例如 2019 年 3 月 21 日)

预填充总是从每月 21 日开始。

非常感谢您的帮助

非常感谢

逆转录

答案1

使用日期函数非常简单。

在此处输入图片描述

请注意,我在美国,所以我的日期是 MM/DD/YYYY。我添加了 12 月的日期,这样您就可以看到 Excel 在月份超过 12 时如何智能地处理年份。B1 中的公式:

=DATE(YEAR(A1),MONTH(A1)+IF(DAY(A1)>6,2,1),21)

DATE() 允许您通过输入年、月、日来指定日期。目标日期始终是该月的 21 日。年份被视为源日期的年份。所有操作都与月份指定有关。我们从源日期的月份开始,然后根据源日期是否大于 6 添加 1 或 2 个月。逻辑非常人性化,并且符合您在问题中描述的内容。

答案2

如果您的日期在单元格 A1 中,则第 1 行的任何其他单元格中的此公式均有效:

=IF(DAY(A1)>6,DATE(YEAR(A1),MONTH(A1)+2,21),DATE(YEAR(A1),MONTH(A1)+1,21))

按要求抄下来。

答案3

我更喜欢 IF 函数,因为它更清晰地读取和理解正在发生的事情,但作为替代方案,您也可以使用以下命令:

=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>6),21)

(DAY(A1)>6)返回 TRUE 或 FALSE。当通过数学运算(在本例中为加法)发送时,它将被转换为 1(表示 TRUE)和 0(表示 FALSE)。

相关内容