跳到主要內容跳到頁尾

日期與時間入門:日期序號、DATE、TODAY 與文字日期

6 分鐘閱讀Lv.1 初學者摘要與日期

從日期序號開始,認識 DATE、TODAY、NOW、YEAR、MONTH、DAY,學會日期加減、分辨文字日期和真日期,並搞清楚顯示格式和儲存格的值是兩回事。

發布 更新

文章目錄

在儲存格輸入 2026/10/11,試算表會乖乖顯示成日期。但是拿兩個日期相減,有時候跑出來的卻是一個數字,有時候又變回日期,到底怎麼回事?

今天要來聊聊試算表是怎麼看待日期的,還有最常用的幾個日期函式:DATE、TODAY、NOW,以及把日期拆開的 YEAR、MONTH、DAY。

先看看手動算有多麻煩

我手上有三個專案,各有開工日和截止日:

ABC
1專案編號開工日截止日
2P012026/10/112026/12/31
3P022026/10/202026/11/15
4P032026/11/022027/01/20

我想知道每個專案從開工到截止有幾天。手動算的話,要翻月曆,10 月剩幾天、11 月 30 天、12 月 31 天,一個一個加起來,第三個還要跨年,想到就有點累了吧!

好在試算表裡的日期,其實就是數字,直接相減就有答案了。

日期序號

Google 試算表把每一天都對應成一個整數,叫做日期序號。起點是 1899/12/30,這一天的序號是 0,之後每過一天加 1。

日期序號
1899/12/300
1899/12/311
1900/01/012
2026/10/1146306

所以 2026/10/11 的序號 46306,意思就是「從 1899/12/30 算起的第 46306 天」。想看某個日期的序號,可以用 N 函式:

Google 試算表公式
fx

取得 2026/10/11 的日期序號

=N(DATE(2026,10,11))

會得到 46306!

這邊要注意,Excel 的日期系統起點跟 Google 試算表差了一點點:Excel 的序號 1 是 1900/1/1,在 Google 試算表裡 1900/1/1 是 2,所以兩邊的序號在 1900/3/1 以前會差一天,之後就一致了。另外 Excel 還把實際不存在的 1900/2/29 當成一個日期,Google 試算表沒有這一天。平常算近年的日期不用擔心,但如果你要拿很古早的日期跟 Excel 對照,就要記得這件事。

DATE

DATE 可以用年、月、日三個數字組出一個真正的日期。

語法

  • 年:四位數的年份。0 到 1899 之間的數字會被自動加上 1900,所以 得到的是 3799/12/30,不是序號 0 那天;兩位數的年份也一樣, 是 1999/01/01;民國年記得先加 1911 再丟進來。
  • 月:1 到 12 的月份。
  • 日:1 到 31 的日。

範例

我想用函式組出國慶日:

Google 試算表公式
fx

組出 2026/10/10

=DATE(2026,10,10)

你會看到 2026/10/10。這個結果是一個真的日期,序號是 46305,不是文字。

月和日也可以超過正常範圍,它會自動往後進位。我個人滿常用這個特性:

Google 試算表公式
fx

月份超過 12,進位到下一年

=DATE(2026,13,1)

結果是 2027/01/01。同樣地, 會是 2026/11/04,因為 10 月只有 31 天,多出來的 4 天進到 11 月。

TODAY 和 NOW

TODAY 回傳今天的日期,不需要參數。NOW 回傳現在的日期加時間。

  • :今天的日期。
  • :現在的日期和時間。

它們的結果每天都會變,所以我沒辦法在這邊貼固定的結果給你看。假設今天是 2026/10/11, 就會顯示 2026/10/11,明天打開同一份試算表,同一格就變成 2026/10/12。

NOW 比 TODAY 多了時間的部分,如果只想要日期, 去掉小數之後,跟 TODAY() 是同一天。

這兩個函式每次試算表重新計算都會更新,官方稱為揮發性函式(volatile)。我的習慣是只放在少數幾格,其他公式去參照那一格就好,不用每一列都放一個 TODAY()。

YEAR、MONTH、DAY

這三個函式剛好是 DATE 的反方向,把日期拆回數字。

Google 試算表公式
fx

取出年份

=YEAR(DATE(2026,10,10))
Google 試算表公式
fx

取出月份

=MONTH(DATE(2026,10,10))
Google 試算表公式
fx

取出日

=DAY(DATE(2026,10,10))

依序會得到 2026、10、10。實際用的時候,括號裡通常是參照某個儲存格,比如 。

日期加減

既然日期是數字,加減就跟一般數字一樣。

回到開頭的專案表,我想算開工到截止有幾天,在 D2 輸入:

Google 試算表公式
fx

截止日減開工日,得到天數

=C2-B2

P01 的結果是 81,P02 是 26,P03 是 79。順便手算一下 P02:10/20 到 10/31 是 11 天,加上 11 月的 15 天,11 + 15 = 26,跟函式算的一樣。

日期相減的結果是個數字,儲存格通常直接顯示 81。如果那格之前被設成日期格式,81 就會被當成日期序號,顯示成 1900/03/21 這種看不懂的日期。把那格的格式改成「格式」>「數值」>「數字」就好,後面「顯示的樣子跟儲存格的值」會再說明。

日期加上一個數字,就是往後推幾天,比如截止日前一週的提醒日:

Google 試算表公式
fx

截止日往前推 7 天

=C2-7

P01 的截止日是 2026/12/31,減 7 天是 2026/12/24。要往後推,就改成 +7。

看起來像日期的文字

從別的系統匯出來的資料,常常有「看起來是日期,但其實是文字」的格子。這種格子不能加減,排序也會亂掉。

我自己判斷的方法有兩個。第一個是看對齊,數字和日期預設靠右,文字預設靠左,如果整欄日期靠左,就要懷疑一下。第二個比較確定,用 ISNUMBER 問試算表:

Google 試算表公式
fx

檢查 A2 是不是真正的日期(數字)

=ISNUMBER(A2)

真的日期會得到 TRUE,文字會得到 FALSE。比如用 做出一格文字的「2026/10/10」,對它用 ISNUMBER,結果會是 FALSE。

DATEVALUE

DATEVALUE 會把「看起來像日期的文字」轉成真正的日期序號。

  • 日期字串:試算表認得的日期格式,例如 2026/10/10,要用雙引號包起來,或參照一個文字儲存格。
Google 試算表公式
fx

把文字日期轉成序號

=DATEVALUE("2026/10/10")

結果是 46305,格式設成日期就會顯示 2026/10/10。再問一次 ,這次就是 TRUE 了。

要注意,DATEVALUE 只認得試算表看得懂的格式,像是「20261010」這種連在一起的八位數字,不能直接丟給它。這種情況可以用 LEFT、MID、RIGHT 拆開,再用 DATE 組起來。

顯示的樣子跟儲存格的值

同一個序號 46305,可以顯示成 2026/10/10,也可以顯示成 46305,或是「2026 年 10 月 10 日」。改的只是外觀,值還是 46305。

TEXT 可以把日期變成指定樣子的文字:

Google 試算表公式
fx

把日期變成 yyyy/mm/dd 格式的文字

=TEXT(DATE(2026,10,10),"yyyy/mm/dd")

不過 TEXT 的結果是文字,不是日期,後面就不能再拿來加減了。這個「值」和「格式」分開的概念,在 值與格式的分離 有更完整的說明。

想改儲存格的外觀,可以選取儲存格後到「格式」>「數值」,裡面有日期、時間等選項。

時間是小數

日期是整數,時間就是小數,代表一天裡的比例。中午 12:00 是一天的一半,所以是 0.5,18:00 是 0.75。

2026/10/11 中午 12:00,序號就是 46306.5。我平常用到時間的機會比較少,不過知道是小數之後,工時相減這類計算就不奇怪了。

練習

1

專案提醒日與天數

用上面的專案表,B 欄是開工日、C 欄是截止日。在 D2 算出開工到截止的天數,在 E2 算出截止日前 7 天的提醒日,再往下複製。P01 的 D2 應該是多少?

要算年資、工作日、到期日,可以接著看 日期計算實戰,裡面有 DATEDIF、NETWORKDAYS、EDATE 等函式。

我是喜特先生,Mr. Sheet,我們下個教學見!

分享:
#日期#時間#日期序號
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

這篇在技能樹的 Lv.1「基礎操作」,模組「認識日期與時間」(第 1/1 篇)。讀完這篇,路線上的下一個模組是「安全地共用與協作」。

回到技能樹

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。