Note: The other languages of the website are Google-translated. Back to English

如何計算Excel中兩個日期之間的leap年數?

在Excel中,對大多數用戶來說,計算兩個給定日期之間的年數可能很容易,但是,您能否僅計算兩個日期之間的cal年(又稱為插年)? 在這裡,我介紹一個公式,可以幫助您快速計算Excel中日期範圍之間的number年數。

使用公式計算日期範圍內的leap年


箭頭藍色右氣泡 使用公式計算日期範圍內的leap年

要計算兩個日期之間的leap年,您只需要執行以下操作:

選擇一個空白單元格,您將把計算結果放在例如C2處,然後輸入此公式
=DATE(YEAR(B2),1,1)-DATE(YEAR(A2),1,1)-((YEAR(B2)-YEAR(A2))*365)+AND(MONTH(DATE(YEAR(A2),2,29))=2,MONTH(DATE(YEAR(B2),2,29))=2)*1
然後按 Enter 獲得結果的關鍵。 看截圖:
Doc count year年1

尖端:在公式中,A2是開始日期,B2是結束日期,您可以根據需要進行更改。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (4)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
哦,我的朋友,

優秀的公式!

Trabalhei com ela e percebi que há uma divergência quando o primeiro e/ou o segundo intervalo são anos bissextos。 Tomei a liberdade de corrigir (em português):


=DATA(ANO(B2);1;1)-DATA(ANO(A2);1;1)-((ANO(B2)-ANO(A2))*365)+E(ANO(A2)=ANO(B2);MÊS(DATA(ANO(A2);2;29))=2;A2<=DATA(ANO(A2);2;29);B2>=DATA(ANO(B2);2;29))+E(ANO(A2)
網站主持人對此評論進行了最小化
A contagem gerava erro no numero de anos bissextos, então fiz uma função em VBA que faz a verificação ano a ano no intervalo。
Após incluir esta macro abaixo, para utilizar use a função =ContBissexto(A1;B1), o resultado é a quantidade de anos bissextos no período:


函數 ContBissexto(Ini As Date, Fim As Date) As Integer
在錯誤恢復下一頁

將 AnoIni 調暗為整數
將 AnoFim 調暗為整數
將 contB 調暗為整數
續B = 0
'DEFINE O ANO DE INICIO DA CONTAGEM DO PERÍODO BISSEXTO
如果 Ini <= DateSerial(Year(Ini), 3, 1) - 1 那麼
AnoIni = 年(Ini)
其他
AnoIni = 年(Ini) + 1
如果結束
'DEFINE O ANO DE FIM DA CONTAGEM DO PERÍODO BISSEXTO
如果 Fim > DateSerial(Year(Fim), 2, 28) 那麼
AnoFim = 年(Fim)
其他
AnoIni = 年(Fim) - 1
如果結束

對於 i = AnoIni 到 AnoFim
如果 Day(DateSerial(i, 3, 1) - 1) = 29 那麼 contB = contB + 1
下一頁

ContBissexto = contB

函數結束
網站主持人對此評論進行了最小化
Tentei a fórmula acima, mas ainda gerava erro no numero de anos bissextos, então fiz uma função em VBA que faz a verificação ano a ano no intervalo。
Após incluir esta macro abaixo, para utilizar use a função =ContBissexto(A1;B1), o resultado é a quantidade de anos bissextos no período: Espero ter ajudado:

函數 ContBissexto(Ini As Date, Fim As Date) As Integer
在錯誤恢復下一頁

將 AnoIni 調暗為整數
將 AnoFim 調暗為整數
將 contB 調暗為整數
續B = 0
'DEFINE O ANO DE INICIO DA CONTAGEM DO PERÍODO BISEXTO
如果 Ini <= DateSerial(Year(Ini), 3, 1) - 1 那麼
AnoIni = 年(Ini)
其他
AnoIni = 年(Ini) + 1
如果結束
'DEFINE O ANO DE FIM DA CONTAGEM DO PERÍODO BISEXTO
如果 Fim > DateSerial(Year(Fim), 2, 28) 那麼
AnoFim = 年(Fim)
其他
AnoIni = 年(Fim) - 1
如果結束

對於 i = AnoIni 到 AnoFim
如果 Day(DateSerial(i, 3, 1) - 1) = 29 那麼 contB = contB + 1
下一頁

ContBissexto = contB

函數結束
網站主持人對此評論進行了最小化
一個更有用的功能是計算 29 月 2 日在 XNUMX 個日期之間出現的次數。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護