| 函數 | 用途 | 語法 | 關鍵參數/備註 |
|---|---|---|---|
DATE | 建立日期序列值 | DATE(year, month, day) | month>12 向後累加;day>該月天數向下月累加。1900 系統基準日 1900/1/1=1 |
DATEVALUE | 文字日期 → 序列值 | DATEVALUE(date_text) | 忽略時間部分;超出範圍回傳 #VALUE! |
DAY | 取日期的日 (1-31) | DAY(serial_number) | 輸入可為文字、序列值、公式結果 |
DAYS360 | 兩日期差天數 (360 天制) | DAYS360(start, end, [method]) | method=FALSE 美式/TRUE 歐式;start>end 回傳負值 |
EDATE | 指定月份前/後的日期 | EDATE(start_date, months) | months 正=未來、負=過去;回傳序列值 |
EOMONTH | 指定月份前/後的月底日期 | EOMONTH(start_date, months) | 同 EDATE,但回傳該月最後一天 |
HOUR | 取時間的時 (0-23) | HOUR(serial_number) | 輸入可為文字 "6:45 PM"、十進位 0.78125、TIMEVALUE 結果 |
MINUTE | 取時間的分 (0-59) | MINUTE(serial_number) | 同上 |
MONTH | 取日期的月 (1-12) | MONTH(serial_number) | 同上 |
NETWORKDAYS | 兩日期間工作天數 (排除週末+假日) | NETWORKDAYS(start, end, [holidays]) | 需載入「分析工具庫」(Excel 2007 前);holidays 為假日區域/陣列 |
NOW | 目前日期時間序列值 | NOW() | 無參數;易失性函數,重新計算即更新 |
=DATEDIF(出生日期, TODAY(), "y") & "歲" & DATEDIF(出生日期, TODAY(), "ym") & "月"
DATEDIF 為相容函數,不在函數精靈中,但可用。
=IF(DAY(TODAY())>15, EOMONTH(TODAY(),0)+15, DATE(YEAR(TODAY()),MONTH(TODAY()),15))
=NETWORKDAYS(TODAY(), 專案結束日, 假日清單區域)
=(下班時間-上班時間)*24 - 1
結果為數值小時,可再格式化為 [h]:mm。
LET/LAMBDA 封裝複雜日期邏輯為自訂函數。SEQUENCE 產生日期序列:=SEQUENCE(12,,DATE(2023,1,1),1) 產生 12 個月初日期。WORKDAY.INTL、NETWORKDAYS.INTL 自訂週末 (如週六日、週五六)。