3

如何在 MS Excel 2003 中检查一个人的生日是否在任何一个月的 15 日之后?如果生日在 15 日之后,则应显示下个月的第一个日期。如果在 15 日之前,则应显示该月的第一个日期。

4

4 回答 4

4

=DATE(YEAR(A1);IF(DAY(A1)<=15;MONTH(A1);MONTH(A1)+1);1)

您可能需要将逗号替换为分号,具体取决于您的语言环境

(DATE函数可以取month=13并递增年份,非常方便)

于 2013-06-25T06:17:05.890 回答
2

年底要小心!

=MONTH("31.12.2013") + 1 将返回 13!

最好使用 EOMONTH 函数。假设 The bithday 日期存储在 D9 中:

=IF(DAY(D9)<=15;EOMONTH(D9;-1) + 1;EOMONTH(D9;0)+1)

于 2013-06-25T06:36:14.813 回答
1

不清楚如果生日正好是 15 岁会发生什么?下个月还是这个月?无论哪种方式,您都可以减去 15,然后找到月末并加 1,即使用 EOMONTH 函数

=EOMONTH(A1-15,0)+1

或避免使用 EOMONTH(因为它需要 Excel 2003 中的 Analysis ToolPak),您可以使用

=DATE(YEAR(A1-15),MONTH(A1-15)+1,1)

如果生日是 15 日,那么这两个都会给出当前月份 - 如果应该是下个月正好 15 日,那么将公式中 -15 的实例更改为 -14

于 2013-06-25T10:13:48.887 回答
1

可能是这样的:

 =IF(DAY(A1)>15;DATE(YEAR(TODAY());MONTH(A1)+1;1);DATE(YEAR(TODAY());MONTH(A1);1))

生日日期在A1.

于 2013-06-25T06:15:58.477 回答