【Excel Date】一般日期函數:DATE() 基本應用 |
您所在的位置:网站首页 › excel表格日期加月份 › 【Excel Date】一般日期函數:DATE() 基本應用 |
Home » 莫非工具 » Excel » 【Excel Date】一般日期函數:DATE() 基本應用
工作中常常會使用 Excel 去記錄與時間相關的資料。而 Excel 中提供了相當多與日期、時間相關的函數可以使用,本篇文章要介紹與日期最直接相關的基本應用:DATE、YEAR、MONTH、DAY、WEEKDAY、TODAY、DATEVALUE。 延伸閱讀:【Excel Date】第一天、最後一天:簡單的方法取得當年、月、週的起始、結束日 文章總覽 認識 Excel 日期格式儲存格格式民國年自定義日期格式(Custom Date format)日期系統1900 日期系統(The 1900 Date System)(預設)1904 日期系統(The 1904 Date System)DATE(日期)YEAR(日期➝年份)MONTH(日期➝月份)DAY(日期➝日)WEEKDAY(日期➝星期)TODAY(今日日期)(current day)DATEVALUE(日期➝序號值)認識 Excel 日期格式如果直接在儲存格(Cell)中,輸入類似日期的值,Excel 會將該其轉成日期格式: ![]() Excel 會將該儲存格的值自動變成當年度對應日期「2023/1/2」,同時還會自作主張將儲存格格式更改,這點其實困擾我很久。 儲存格格式最簡單的方法就是去我們主動更改儲存格格式,改成想要呈現的格式: 選取儲存格 > 滑鼠右鍵 > 儲存格格式(F) 選取儲存格 > 常用 > 儲存格 > 格式 > 儲存格格式(E)![]() 如果不想顯示西元年,想要轉換成民國年, Excel 也有提供對應的格式: 儲存格格式 > 日期 > 行事曆類型(A) > 中華民國曆 ![]() 當然除了這種直接輸入日期的方式,還有其他可以呈現日期的函數,就是本篇的重點:DATE。 自定義日期格式(Custom Date format)當然也可以使用自定義日期格式,選擇我們想要的日期格式 當然也可以自行去設定想要呈現的時間格式 延伸閱讀:【Excel Date】自訂日期格式(Custom Date format)![]() 不知道大家有沒有發現,在 Excel 中,儲存格(Cell)儲存時間的方式,是以序號來表示。 若將日期的儲存格格式換為通用格式,該日期會變成一組數字。 以 2023/10/2 為例,會得到數字為「45201」,那這代表甚麼意思? 這代表從 1899 年 12 月 31 日到 2023 年 10 月 2 日,共經過了 45201 天 1900 日期系統(The 1900 Date System)(預設)根據預設,Microsoft Excel for Windows 會使用 1900 日期系統。 在該系統中,Excel 支援的第一天為 1900 年 1 月 1 日,當你輸入日期值時, Excel 會將其以序號儲存,以日期顯示。 1900 年 1 月 1 日,為序號 1,每過一天,序號加 1 。 ![]() 同理可知 ,該系統支援的第一天為 1904 年 1 月 1 日,為序號 1,每過一天,序號加 1 。 因此以同一天來說,兩個系統的值會相差 1462(四年,包含閏年) 為什麼 Excel 要有兩個時間系統?在 1900 系統中,是允許「1900/2/29」這天,但是依照閏年的規範, 1900 年並非閏年,應為平年。為了防止相關的問題,才有了 1904 日期系統。 延伸閱讀:Excel 不正確地假設 1900 年是閏年 DATE(日期)=DATE(a, b, c) a:年(year) 1900~9999:1900~9999 年 0~1899:1900 + (0~1899) 年b:月(month) 1~12:1~12 月 > 12:依序遞加(13:隔年 1 月) 0:去年 12 月 < 0:依序遞減(-1:去年 11 月)c:日(day) 1~31:1~31 日(注意大小月,以10月為例) > 31:依序遞加(32:隔月 1 日) 0:前月最後一天 < 0:依序遞減(-1:前月倒數第二天)![]() 一般情況使用 DATE ,是非常容易懂的。假設要顯示「2023/10/2」,三個參數依序放入想要呈現的年、月、日即可:「2023」、「10」、「2」。 第一個參數 a(年) a 介於 1900~9999,會直接將該值作為年份:「=DATE(2023,10,2)」➝「2023/10/2」 如果介於 0~1899 之間,則 Excel 會將該值加上 1900 來計算年分:「=DATE(157,10,2)」➝「2057/10/2」 小於 0 或者 大於 9999,會回傳錯誤值:「#NUM!」月和日的規則很相似。正常範圍之外,可以想成平移的概念: 第二個參數 b(月) ![]() 第三個參數 c(日)注意該月總日數,下方範例以 10 月共有 31 天為例 ![]() =YEAR(a) a:日期 回傳:年份 ![]() YEAR 這個函數會直接回傳該日期的西元年。 但是 Excel 並沒有提供民國年的函數,如果要回傳民國年可以直接將此值減去 1911 即可。 MONTH(日期➝月份)=MONTH(a) a:日期 回傳:月份 ![]() =DAY(a) a:日期 回傳:幾號 ![]() =WEEKDAY(a,[b]) a:日期b:規則(預設值為:1) 回傳:星期幾(預設週日為起始:1) ![]() 2023 年 10 月 2 日為星期一,那為什麼 WEEKDAY() 的結果是 2 而不是 1 呢?在預設(沒有第二參數)的情況下,根據 Excel 的規則,會把週日訂為一週的起始日,因此週一的值就會是 2 。依此類推週二就會是 3 、週六是 7。 ![]() 這裡 WEEKDAY 提供了第二個參數來決定回傳的起始值依據,如果不使用第二參數,則會依照預設值,也就是,星期日為「1」 ![]() ![]() 這裡我把不同參數對應的回傳值放上來 ![]() =TODAY() 回傳:當天日期(current day) TODAY 會直接回傳當天的日期,不包含時間,如果要包含時間可以使用 NOW() 但這兩個函數的值都會隨時間變化,使用上要多加注意 DATEVALUE(日期➝序號值)=DATEVALUE(a) a:文字格式的日期 回傳:該日日期系統之值(預設為1900日期系統) ![]() DATEVALUE 可以將日期轉換成「1900日期系統」所對應之值:以 1900/1/1 當作 1,每過一天加 1 這裡唯一要注意的就是,函數內的參數要使用文字格式,不能直接引用放有日期的儲存格,因為該儲存格已經被 Excel 轉換成 1900日期系統,實際地值並非日期。 ![]() 這裡我會將時間轉成文字「“2023/10/2”」最簡單的方法就是掛上雙引號。 或者如上方的圖片紅色箭頭,在字串前加上一個單引號「‘2023/10/2」,這樣也可以輕鬆地將單引號後面的內容認定為文字格式,就可以直接被 DATEVALUE 引用。 更多 Excel 文章請至 文章導覽 尋找,也可利用上方「搜尋(Search...)」功能 有任何莫非工具的問題,歡迎至「表單」提問Excel 是不是很容易和莫非一起用 Excel 把工作變簡單 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |