新的一年,來為你的目標倒數吧!

新的一年,來為你的目標倒數吧!

更新於 發佈於 閱讀時間約 9 分鐘

祝各位新年快樂!歡迎來到 2023。

一年的開頭,不免俗自我介紹一下。喜特先生是一個分享 Google 試算表功能、函式、進階技巧和各類應用的全中文教學品牌。除了固定在每週日晚上七點,在方格子發文之外,也開放讀者詢問各種試算表相關的問題。

我的文章是公開免費的、都沒有設定付費閱讀,不過如果你覺得我的教學有稍稍幫忙到你,讓你的試算表人生變得更輕鬆,歡迎你贊助!

回顧一下我的 2022,一邊上班、一邊寫作,從三月開始週更,不知不覺就寫了 41 篇。託大家的福,我多了 3 位新訂閱的讀者、收了幾筆抖內、有 70 多位追蹤、閱讀人次也衝破了 7 萬人,的確實現了我內容變現的小小夢想,謝謝方格子、也謝謝大家支持。

今年除了會繼續維持週週更新之外,也希望有那個肝、有更多力氣推出更多內容跟服務!還請大家多多支持 🙏


那麼,2023 到了,今年有什麼新規劃嗎?或是有什麼重要的日子值得倒數一下呢?我們可以在試算表用三個方法,計算兩個日期的相差天數,當然計算倒數日也可以的,例如:

  • 我幾歲了?(幾年幾月幾日?)
  • 今天離大考還有幾天?
  • 跟老伴在 2008/02/14 結婚,到現在已經多久了?
  • 2023/01/01 到 2023/12/31 有幾個工作天?

那我們就馬上來看看怎麼做吧!


TODAY 函式

先認識一個等等偶爾會出現的好朋友,TODAY 函式。我們可以用 TODAY 函式取得今天的日期,而且什麼設定也沒有,只要在儲存格上面寫:

=TODAY()

就可以了!像這樣,然後 Enter 敲下去就好了:

raw-image



方法一、兩個日期相減

最簡單又直接的方法,就是直接把兩個日期拿出來相減囉。

你可以直接在試算表上輸入日期,像是這樣:

raw-image

然後在 C1 上,寫 B1 減去 A1:

=B1 - A1
raw-image

就會得到:

raw-image

這樣就是相差 364 天了。嗯?那如果是 A1 減 B1 呢?

=A1 - B1
raw-image

就會出現負數了。這是為什麼呢?在 Google 試算表裡面,日期其實算是一種數字來處理,有個要訣是:

日期越早,數字越小。
日期越晚,數字越大。

因為剛剛我們把 2023 年 1 月 1 日(小)減去 2023 年 12 月 31 日(大),就會得到負數了。你當然也可以把剛剛提到的 TODAY 函式用上去,像是:

=TODAY() - B1

就知道 B1 上面的日期跟今天相隔多少天了。你當然也可以直接在函式裡寫日期,並且用雙引號括起來:

=TODAY() - "2022/01/01"

不過如果你想看到相差的「月數」或「年數」的話,我們就可以用第二個方法「DATEDIF」。



方法二、DATEDIF

第二種方法是利用 DATEDIF 函式,一樣取得兩個日期之間的相差多少「時間單位」,例如相差幾「天」、幾個「月」、幾「年」這樣。

使用方法也很簡單:

=DATEDIF(開始日期, 結束日期, 時間單位代號)

開始日期和結束日期就像剛剛那樣,填入儲存格或是直接輸入日期都可以。這樣至於時間單位代號的話,有以下幾個,都要用雙引號包好。

  • Y:傳回開始日期和結束日期之間的整年數。
  • M:傳回開始日期和結束日期之間的整月數。
  • D:傳回開始日期和結束日期之間的天數。
  • MD:傳回開始日期和結束日期之間的天數(日期中的月和年都會被忽略)。
  • YM:傳回開始日期和結束日期之間的整月數(日期中的日和年都會被忽略)。
  • YD:傳回開始日期和結束日期之間的天數(日期中的年會被忽略)。

欸?MD、YM、YD 又是什麼?我粗暴的理解是覺得它們有點像是取餘數的概念,得出兩個日期相差的單位。舉個例來說,這個是 MD,把 2023 年跟月份忽略、只算日期(01 跟 31)之間的相差天數:

=DATEDIF("2023/01/01", "2023/03/31", "MD")
=30

這個是 YM,把日期中的日(01 跟 31)和年(2000 跟 2023)都會被忽略,只計算相差的月數。

=DATEDIF("2000/01/01", "2023/03/31", "YM")
=2

最後是 YD,日期中的年會被忽略,算出兩個日期之間相差的天數。

=DATEDIF("2020/05/05", "2023/06/30", "YD")
=56

使用方法也跟剛剛一樣,例如我這邊有 A1 跟 B1 兩個日期,要取得兩個日期之間的差距:

raw-image

在 C1 輸入:

=DATEDIF(A1, B1, "D")

我們就會得到:

raw-image

這樣就好了!


方法三、NETWORKDAYS.INTL

最後一個是可以排除週末(一週中休息的日子)和假日,得到兩個日期間相差工作日的函式,叫「NETWORKDAYS.INTL」,超聰明!

不過要輸入的參數有一點點複雜,我們來看看:

=NETWORKDAYS.INTL(開始日期, 結束日期, [週末], [假日])

開始日期跟結束日期都跟剛剛一樣,應該是沒問題。

  • [週末]:選填,等等會輸入特定的東西,代表一週中哪幾天是週末(休息日)。預設是「1」,代表週六跟週日休息。
  • [假日]:選填,指定有假日日期的儲存格範圍。

因為這兩個參數是選填,如果什麼不填就是回傳「不考慮在週六跟週日休息的狀況下,在兩個日期間的工作日有多少唷」。


週末參數

指定週末的參數有兩種方法,一種是輸入數字、一種是輸入字串。


輸入數字

這方法有一點點複雜,建議直接查表:

raw-image

例如說,我想知道 2023/01/01 到 2023/12/31 之間,在星期六跟星期日休息的狀況下有幾個工作天,就在「週末」的參數寫 1:

=NETWORKDAYS.INTL("2023/01/01", "2023/12/31", 1)
=260

又或是只有星期日休息,那就是在週末的參數寫 11:

=NETWORKDAYS.INTL("2023/01/01", "2023/12/31", 11)
=312

但我個人覺得這方法不太直覺、沒那麼喜歡,而且表也沒有包含像是「週休三日」、「每週一、三、五休息」這種狀況,所以我想介紹下一個方法:


輸入字串

用這個方法的話,需要輸入 7 個數字、並且用雙引號括起來以表示字串。看起來會像是這樣:

"0000011"
"0101010"
"1111100"

雙引號裡面的數字代表一個星期裡的每一天,從左到右開始算,第一個數字代表星期一、第二個數字代表星期二、第三個數字代表星期三,以此類推。還有,這些數字只能寫 0 跟 1,0 代表上班、1 代表休息。我們看幾個例子:

"0000011" --> 每星期六、每星期日休息
"0101010" --> 每星期二、每星期四、每星期六休息
"1111100" --> 每星期一到五休息

舉個例子,計算在每星期六、星期日休息的狀況下,2023 年 1 月 1 日到 12 月 31 日的工作日有多少個:

=NETWORKDAYS.INTL("2023/01/01", "2023/12/31", "0000011")
=260

計算每星期五、星期六、星期日休息的狀況下,計算 2023 年 1 月 1 日到 12 月 31 日的工作日有多少個:

=NETWORKDAYS.INTL("2023/01/01", "2023/12/31", "0000111")
=208


假日參數

你還可以告訴 NETWORKDAYS.INTL 函式,有哪幾天是國定假日,在計算工作日的時候把它排除。在這邊要指定一個儲存格範圍,範圍裡面需要有我們想指定的日期,像是這樣(以台灣的國定假日為例):

第 10 行之後還有別的假日!

第 10 行之後還有別的假日!

(歡迎到這邊複製上面的表格)

等等就可以在 NETWORKDAYS.INTL 指定 B 欄這個範圍,告訴試算表要排除這些日期、不列入工作日。舉例來說,假設每週六、日休息,並排除我們指定的假日:

=NETWORKDAYS.INTL("2023/01/01", "2023/12/31", "0000011", B2:B)
=194

跟著做做看吧!也歡迎讓我知道你有什麼問題唷。



如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!

想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

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



avatar-img
喜特先生官方沙龍
17.3K會員
151內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言
avatar-img
留言分享你的想法!
喜特先生官方沙龍 的其他內容
終於要來完成資料驗證系列文的最後一塊拼圖,核取方塊了! 核取方塊能做的應用有很多,在這邊我會分享兩個,歡迎大家來看看~
在資料驗證(三):自訂公式的教學,我寫了一串可以驗證身分證字號的公式: 如果 A1 是正確的身分證字號格式就會是 TRUE、錯誤的話則是 FALSE。 我會在這篇文稍稍解釋一下上面這串是怎麼做的,也歡迎大家在文章下方留言,告訴我你的看法、或是有更好的建議也可以跟我說說!
上兩週我們介紹了資料驗證是什麼,要怎麼利用它來製作下拉式選單、驗證使用者是否輸入特定的文字、日期和數字,還有當輸入不符合驗證規則的時候、試算表會怎麼樣提醒使用者的設定方式。那麼,這次我們要來接著介紹怎麼用「自訂公式」來設定資料驗證。
今天要簡單介紹三款簡便的函式:UPPER、LOWER 跟 PROPER,讓你簡單轉換字母大小寫,非常簡單、好寫,可以套用在使用大小寫字母的語言上(拉丁字母、希臘字母、西里爾字母等)!
大家好!今天要跟大家分享 SPARKLINE 的最後一種圖表,勝負分析走勢圖。到這邊 SPARKLINE 系列就連載完畢囉,謝謝支持!
這是 SPARKLINE 迷你圖表系列的第三篇文章!今天要介紹怎麼用 SPARKLINE 繪製迷你直條圖。
終於要來完成資料驗證系列文的最後一塊拼圖,核取方塊了! 核取方塊能做的應用有很多,在這邊我會分享兩個,歡迎大家來看看~
在資料驗證(三):自訂公式的教學,我寫了一串可以驗證身分證字號的公式: 如果 A1 是正確的身分證字號格式就會是 TRUE、錯誤的話則是 FALSE。 我會在這篇文稍稍解釋一下上面這串是怎麼做的,也歡迎大家在文章下方留言,告訴我你的看法、或是有更好的建議也可以跟我說說!
上兩週我們介紹了資料驗證是什麼,要怎麼利用它來製作下拉式選單、驗證使用者是否輸入特定的文字、日期和數字,還有當輸入不符合驗證規則的時候、試算表會怎麼樣提醒使用者的設定方式。那麼,這次我們要來接著介紹怎麼用「自訂公式」來設定資料驗證。
今天要簡單介紹三款簡便的函式:UPPER、LOWER 跟 PROPER,讓你簡單轉換字母大小寫,非常簡單、好寫,可以套用在使用大小寫字母的語言上(拉丁字母、希臘字母、西里爾字母等)!
大家好!今天要跟大家分享 SPARKLINE 的最後一種圖表,勝負分析走勢圖。到這邊 SPARKLINE 系列就連載完畢囉,謝謝支持!
這是 SPARKLINE 迷你圖表系列的第三篇文章!今天要介紹怎麼用 SPARKLINE 繪製迷你直條圖。