=TODAY
date A date B date C
我需要計算日期 B 的公式
。年。
我已經成功創建了這樣的公式:
=IF(AND(DATEDIF(date A,$date $B,"Y") >= 1, ISBLANK(date C)), TODAY(), DATE(YEAR(date A)+1,MONTH(date A),DAY(date A)))
但當日期 A 和 TODAY 之間的差異超過一年時,這似乎不起作用。
答案1
注意:我在英國,所以我的答案使用格式為 dd/mm/yyyy 的日期
比方說:
date a
is in cell A1
date b
is in cell B1
,且
date c
is in cellC1
然後假設您將公式放入31/02/2015
單元格A1
並放入=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,ISBLANK(C1)),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))
單元格,A2
該公式對我有用。
正如 @Máté Juhász 在評論中所說,當你在 cell 中有東西時就會出現問題C1
。如果是這種情況,它將在 A1 中的日期上添加 1 年,使其成為 31/02/2016,而不是今天的日期 02/09/2016。
如果您在儲存格中放入空格,則儲存格C1
可能會顯示為空白,但 Excel 會將空格視為資料。因此,為了安全起見,如果您想透過將空格包含為空白來檢查儲存格是否為空白,則需要變更邏輯測試以使=OR(ISBLANK(C1),C1=" ")
儲存格中的最終公式B1
為=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,OR(ISBLANK(C1),C1=" ")),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))
的替代方案=OR(ISBLANK(C1),C1=" ")
,除了將公式的長度減少 6 個字元外,沒有任何功能差異,是使用評論中建議的替代方案,這將在單元格=OR(C1="",C1=" ")
中創建一個替代的最終公式:B1
=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,OR(C1="",C1=" ")),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))