回覆列表
  • 1 # 初時模樣影紫秋水

    如果要在Excel中確定某年是否為閏年,可以用下面的方法,假如指定的日期在A1單元格。使用公式:=IF(OR(MOD(YEAR(A1),400)=0,AND(MOD(YEAR(A1),4)=0,MOD(YEAR(A1),100)<0)),"閏年","非閏年")

    例如A1單元格為“1900-1-1”,公式返回“非閏年”。

    還可以使用下面的公式,對於閏年公式返回“1”,非閏年返回“0”。

    =(MOD(YEAR(A1),4)=0)-(MOD(YEAR(A1),100)=0)+(MOD(YEAR(A1),400)=0)

    下面的公式比較簡潔,除1900年外都能正確判斷:

    =IF(DAY(DATE(YEAR(A1),2,29))=29,"閏年","非閏年")

    使用自定義函式:

    按Alt+F11,開啟VBA編輯器,單擊選單“插入→模組”,在右側的程式碼視窗中輸入下面的VBA程式碼:

    PublicFunctionIsLeapYear(ByValDate1AsDate)AsBoolean

    Y=Year(Date1)

    IsLeapYear=Month(DateSerial(Y,2,29))=2

    EndFunction或:FunctionIsyLeapYear(ByValDate1AsDate)AsBoolean

    Y=Year(Date1)

    IsyLeapYear=IIf(YMod100=0,YMod400=0,YMod4=0)

    EndFunction

    關閉VBA編輯器,在A1單元格中輸入日期格式的資料,在另一單元格中輸入:

    =IsLeapYear(A1)或:=IsyLeapYear(A1)

    對於閏年公式將返回“TRUE”,非閏年返回“FALSE”。

    上述公式或自定義函式對1900年以前年份的判斷也是正確的。如果只需要判斷1900年以後的年份,還可以用下面的幾個公式:

    =IF(DAY(DATE(A1,3,0))=29,"閏年","非閏年")

    =IF(MONTH(DATE(A1,2,29))=2,"閏年","非閏年")

  • 中秋節和大豐收的關聯?
  • 淨水器的濾芯一般是採用什麼材質做成的?