添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

之前練習GAS的時候,在YT有分享一段成果小影片,因為只是自己練習的紀錄,沒有特別考慮教學的層面,很開心YT看到網友留言有興趣了解做法,就寫篇教學BLOG分享囉~

ps. 但這個範本有很多手法算是稍微進階一點,如果函數很不熟,直接要做這個練習,會頗吃力,要多花一些時間消化喔~

步驟4  – 帶出星期的指定文字

從示範檔星期的欄位,會看到很長、看似複雜的函數,像這樣:

= if ( B3 = “” , “” , vlookup ( weekday ( B3 , 2 ) , 星期清單 , 2 , 0 ) )

遇到很長的函數時,可以 【由內而外拆解】 ,我用顏色標成要拆解的3個部分。

<1> weekday(B3,2)

weekday函數可回傳第一個值(B3)是星期幾,第二個值是星期的換算標準。
1表示把星期日當成每周第一天,所以星期日會回傳1
2表示把星期一當成每周第一天,所以星期一會回傳1,我們用比較直覺的2

<2> vlookup( weekday( B3 , 2 ) , 星期清單 , 2 , 0 )

得出星期幾的【數字】之後,利用vlookup去已命名範圍的【星期清單】帶出相對應的【國字】(也就是清單中第2欄的一二三四五六日)。

vlookup是有點複雜,但非常非常實用的函數,如果不熟悉語法,可以參考下圖。

步驟5  – 優化日期函數,不出現非當月的日期

(1)取得月份資料 =month(B3)

(2)用if去判斷,若該月份與指定月份不符合時,就不出現日期。(指定月份固定在I1所以要用$鎖定位置$I$1)

(3)將以上2個函數整合成一個 = if ( month (B3+1 ) = $I$1 , B3 + 1 , “” )

▼▼優化前後的對照  GIF動圖示範▼▼

步驟6  – 帶出國定假日

(1)用vlookup,對照假日清單,找出該日期是否有特殊假日 =vlookup(B3,假日清單,3,0)

(2)沒有找到資料會顯示錯誤,所以外層加上iferror,語法是: =iferror(執行函數,錯誤時””空白)
= iferror ( vlookup ( B3 , 假日清單 , 3 , 0 ) , “” )

(3)其中【假日清單】是在步驟3就設定好的命名範圍,所以可以直接使用,但這個清單的內容要自己手動維護更新喔!)

▼▼iferror優化前後的對照▼▼

(1)要指定條件(ex.補班出現綠底)變化視覺呈現時,使用:格式>>條件式格式設定

(2)設定時注意套用範圍

(3)選擇【自訂公式】去比對目標欄位是否=等於目標內容,如果相等就改變格式,參考下圖說明

▼▼操作位置&設定說明▼▼

以上7個步驟是完成月曆效果的方式,算是小進階的綜合應用了。

至於GAS製作按鈕來調整年份和月份,不是必要的功能,因為年份和月份手動改數字就行,而且GAS是大進階應用,在這裡就暫時不分享了。

希望對雲端月曆效果有興趣的朋友,這篇能給你一點收穫。