date和如果function在一起
感谢您的时间!
我希望Excel能够确定多个条件的date。
如果A1中的给定date为1980年11月29日,且其中一个条件为2016年6月30日,则date应为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
上表是我正在寻找的实际解决scheme。 我有大量的数据,每个月都要处理。 第二个条件涉及奇数和偶数年。
如果可能,请帮助我。
提前谢谢了!
你可以使用这个公式:
=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)
这取决于条件date和joindate之间的年份差异。 然后除以2得到两年之间可以适应的数量。 让我们打电话给这个YearDiff来解释。 那么我们有:
EDATE(A2,24*YearDiff)
这增加了2年(24个月)到joindate的数量。 这可能是期望的结果,但有可能超过条件date。 让我们调用这个Result1 。 这是最后一部分进来的地方:
IF(Result1 > C2, subtract 2 years from Result1, Result1)
它应该看起来像这样(但是用;
replace):
在B单元格中input公式后,可能会看到数字,而不是date。 在这种情况下,只需将date格式应用于它们。
注释关于条件的含义
在您的意见中,您解释说10-Sept-2015
30-Sept-2015
的结果是错误的,因为截止date是31-Aug-2015
。 这似乎不必要的复杂:在这种情况下把截止date的条件。 把一个月后的date作为“条件”是很奇怪的。 如果还想保持这种状态,则将公式更改为此( >C2
被replace为>=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)))