日期和如果一起工作

时间:2016-06-13 08:22:45

标签: excel

感谢您的时间!

我希望Excel在多个条件下确定日期。

如果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 

上表是我正在寻找的实际解决方案。我有大量数据,每个月都要处理。第二个条件涉及奇数和偶数年。

请尽可能帮助我。

非常感谢提前!

1 个答案:

答案 0 :(得分:3)

你可以使用这个公式:

=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得到两年之间可以拟合的2年数。让我们称之为 YearDiff 以便于解释。然后我们有:

EDATE(A2,24*YearDiff)

这增加了加入日期为2年(24个月)的数字。这可能是期望的结果,但它有可能超过条件日期。让我们称之为 Result1 。这是最后一部分的来源:

IF(Result1 > C2, subtract 2 years from Result1, Result1)

它应该如下所示(但将;替换为,):

Ross Patterson

可能是在B细胞中输入公式后,您可以看到数字,而不是日期。在这种情况下,只需将日期格式应用于它们。

备注条件的含义

在评论中,您解释说条件为10-Sept-2015时结果30-Sept-2015不正确,因为截止日期为31-Aug-2015。这似乎是不必要的复杂:在这种情况下,将截止日期置于条件中。把一个月后的日期作为"条件"是很奇怪的。如果您仍希望以这种方式保留,请将公式更改为此(>C2替换为>=DATE(YEAR(C2),MONTH(C2),1)):

=IF(EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2))>=DATE(YEAR(C2),MONTH(C2),1),
    EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2)-24),
    EDATE(A2,24*TRUNC((YEAR(C2)-YEAR(A2))/2)))