excel中基於其他日期的日期計算

excel中基於其他日期的日期計算
          =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 ais in cell A1
date bis in cell B1,且
date cis 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)))

相關內容