Ragic 的每一個欄位,都有一個對應的「欄位種類」,用來決定資料呈現的型態以及它可以驅動的行為,例如數字欄位會以數值的形式呈現,可以做加減運算;電子郵件欄位裡沒有填到 @ 符號時系統會提醒你,且此欄位可以整合寄 email 功能;地址欄位可以整合地圖、「自動產生」欄位可以產製出流水號等等。
今天這篇教學短文要講的「日期」欄位也有很多方便的功能,排程記事(搭配行事曆報表或與外部行事曆同步功能)、設定提醒、估時數、算時數(利用日期運算相關公式)都需要搭配它才能發揮。
舉例來說,我的訂單有兩個日期欄位:「訂購日期」和「預計出貨日期」,由於我總是將「預計出貨日期」排在「訂購日期」後七天,我就可以根據上述功能,套用公式,讓系統可以自動根據我填入的訂購日期,直接顯示出七天後的預計出貨日期;同步行事曆,讓我的 Google 行事曆上在出貨日當天標註有此筆訂單要出;設定提醒,讓系統在出貨日前一天自動要寄信通知我備貨。
假設今天在這張訂單表單上「訂購日期」和「預計出貨日期」不是日期欄位(例如是「自由輸入」欄位),那麼以上一連串自動化流程就都不能運作了:公式算不出來、提醒無法送出、也不能同步行事曆。
一般情況下,我們只要把欄位種類設對,好好輸入日期,一切就可以順利運轉了。不過有些時候我們的日期資訊不是自己手動輸入的,而是要從其他地方擷取、拿過來的,這時就可能出現:表單上有「訂購日期」的資訊,但它沒有被存在「日期欄位」,而是存在自由輸入等其他類型欄位,導致不能直接用它們來驅動各項流程。
如果你遇到這種情況,且還是需要日期欄位的各種功能,其實不需要在另一個日期欄位重新一一手動輸入資訊喔!只要搭配 Ragic 的「字串擷取」「組合字串」「字串轉日期」相關公式,就可以自動化的把你要的日期資訊從別的欄位取出,正確放入日期欄位裡了。以下就來舉例說明:
假設我的訂單統一是從另一個系統匯入的,該系統沒有用一個欄位特別記錄「訂購日期」,但「訂單編號」一直都是利用「SO-訂購日期-流水號」的編碼原則編出來的,因此訂單編號裡面其實含有訂購日期資訊,我希望利用這個資訊,讓 Ragic 表單上自行產生對應的「訂購日期」欄位值,進而可以利用公式算出預計出貨日期或發送提醒。
那麼首先,我可以先新增一個欄位,利用 Ragic「擷取字串」、「組合字串」的公式,把「訂單編號」流水號裡面屬於訂購日期的資訊擷取出來,讓它以 yyyy/MM/dd 這樣的格式呈現出來。
Ragic「擷取字串」的公式包括有:LEFT(指定要擷取最左邊的幾個字元)、RIGHT(指定要擷取最右邊的幾個字元)、MID(用來指定擷取中間的幾個字元,透過指定字元開始的位置+要取幾個字來達成)
而「組合字串」很簡單,只要參照欄位是字串(例如自由輸入),就可以用 + 號串起來。
因此如果訂購編號是像「SO-20200716-001」這樣的形式,適合用的就是 MID 公式,假設訂購編號為 C2 欄位,新增一個欄位套用這樣的公式:MID(C2,3,4)+'/'+MID(C2,7,2)+'/'+MID(C2,9,2) 即可在新欄位得到 2020/07/16 這樣的欄位值。
但是,由於字串處理的公式僅能用於字串型態的欄位(例如自由輸入),這個新欄位沒辦法直接設成日期欄位(否則公式無法運作),因此我們還需要一個把「字串轉換為日期欄位」的方法。
假設前面說的新欄位(擷取訂購日期字串欄位)為 F2, 我只要在已經設成日期欄位的「訂購日期」欄位,套上將字串轉換為日期欄位的公式,就可以滿足我們的需求了。要注意的是這個公式不能像在 Ragic 把自由輸入轉數字欄位、或把其他任何類型的欄位轉為自由輸入欄位一樣,直接套等於公式參照要轉換的欄位值並改欄位類型。要將字串轉為有效的日期欄位,必須使用「DATEVALUE 」公式,寫為:DATEVALUE (F2,'yyyy/MM/dd'):
舉例來說:假設今天我訂單上面的欄位是「排定出貨時間」,是一個 yyyy/MM/dd HH:mm 包含詳細的日期+時間資訊的欄位像這樣:
我也希望將這個時間(或時段)資訊同步到 Google 日曆上,不只是顯示為「全天」:
此時因為 Google 日曆需要的是「日期」和「時間」拆開成兩個欄位的格式,原本「排定出貨時間」的格式也需要轉換。此時我一樣可以利用「字串擷取」搭配「字串轉日期」的功能,新增一些套用公式的欄位,把格式弄成符合需求的樣子:
同步行事曆時,選擇上圖 F3 「出貨日期」、F4「排定出貨開始時間」、F5「排定出貨結束時間」(假設要設一個時段且為一小時)當作同步時需要的欄位即可。有需要的話這些欄位可以設為隱藏,不影響訂單排版。
以上就是「字串/日期欄位轉換」情境的解說,有任何相關的疑問或情境,歡迎來信 support@ragic.com 讓我們知道 :D
標籤: 公式