Excel 日期和If一起起作用
谢谢你抽出时间 我希望Excel在多个条件下确定日期Excel 日期和If一起起作用,excel,Excel,谢谢你抽出时间 我希望Excel在多个条件下确定日期 Date of joining As of this year Condition 1 27-Jun-05 27-Jun-15 30-Sep-15 02-Jul-05 02-Jul-15 30-Sep-15 10-Sep-05 10-Sep-13 30-Sep-15 01-Dec-05 01-Dec-13 30-Sep-
Date of joining As of this year Condition 1
27-Jun-05 27-Jun-15 30-Sep-15
02-Jul-05 02-Jul-15 30-Sep-15
10-Sep-05 10-Sep-13 30-Sep-15
01-Dec-05 01-Dec-13 30-Sep-15
15-Jul-06 15-Jul-14 30-Sep-15
07-Aug-06 07-Aug-14 30-Sep-15
如果A1中的给定日期为1980年11月29日,其中一个条件为2016年6月30日,则该日期应为2014年11月29日。有关更多条件,请参阅下表
Date of joining As of this year Condition 1
27-Jun-05 27-Jun-15 30-Sep-15
02-Jul-05 02-Jul-15 30-Sep-15
10-Sep-05 10-Sep-13 30-Sep-15
01-Dec-05 01-Dec-13 30-Sep-15
15-Jul-06 15-Jul-14 30-Sep-15
07-Aug-06 07-Aug-14 30-Sep-15
上表是我正在寻找的实际解决方案。我有大量的数据,每个月都要处理。第二个条件涉及奇数年和偶数年
如果可能的话,请在这方面帮助我
非常感谢 您可以使用以下公式:
=IF(EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2))>C2,
EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2)-24),
EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2)))
它可能看起来很复杂,但有很多重复。每一部分解释如下:
TRUNC((YEAR(C2)-YEAR(A2))/2)
这取条件日期和加入日期之间的年差。然后除以2,得到两年之间可以容纳的两年数。让我们将其称为YearDiff,以便于解释。然后我们有:
EDATE(A2,24*YearDiff)
这将在加入日期之前增加2年(24个月)的时间。这可能是期望的结果,但有可能超出条件日期。我们将其称为Result1。这就是最后一部分的内容:
IF(Result1 > C2, subtract 2 years from Result1, Result1)
它应该是这样的(但将;
替换为,
):
可能是在B单元格中输入公式后,您看到的是数字,而不是日期。在这种情况下,只需将日期格式应用于它们
关于条件含义的注释
您在评论中解释说,当条件为2015年9月30日时,2015年9月10日
的结果不正确,因为截止日期为2015年8月31日。这似乎不必要复杂:在这种情况下,将截止日期置于条件中。把一个月后的日期作为“条件”是很奇怪的。如果仍然希望保持这种方式,则将公式更改为此(>C2
替换为>=日期(年(C2),月(C2),1)
):
你能更好地解释一下逻辑吗?“如果A1中的给定日期为1980年11月29日,其中一个条件为2016年6月30日,则该日期应为2014年11月29日”:我不知道这些日期之间的关系,也不知道前两个日期的结果如何。请解释。谢谢你的评论!当然,谢谢你的评论!当然,我会尽力解释我最好的。基本上,A1中的任何偶数年都将导致当前偶数年。对于例如,如果A1为1980年11月29日,且由于其为偶数年,则其在本年度的相应值应为2016年11月29日,但如果日期和月份在2016年6月30日之后,则相应值应为2014年11月29日。希望这个解释有帮助!有关更多示例和变量,请参阅表。表中的行
10-Sep-05
是否正确?根据逻辑,结果应该是10-Sep-15
,而不是10-Sep-13
。还是我遗漏了什么?谢谢你的详细解释。显然,我犯了一个错误。A2中的日期是否有特定格式?请告知这是一个分离问题(我在欧洲)。更换所有代码>与公式中的,
。我相应地更新了我的答案。注:A2中的格式并不重要,只要是日期。我还添加了一段关于条件如何影响结果的内容。