Google 試算表加 Google 地圖函式,自動計算行程距離、時間與地址
可以在 Google 試算表中,自動計算出兩地距離、開車時間、景點轉換成地址、地址轉換出國家或經緯度等等。
Amit Agarwal 是印度最早期、最知名的部落格作者之一,經營的「Digital Inspiration」多年來一直都是全球知名的技術網站,尤其以開發許多 Google 服務的外掛而聞名。(例如電腦玩物之前也有介紹過的:Google Forms Email Notifications 自動寄送客製化報名確認郵件)
下面要分享的 Google 試算表結合 Google 地圖函式,並非 Google 試算表的原生函數,而是由 Amit Agarwal 所提供的自訂函式(想知道原始程式碼語法,可以參考其原文:Google Maps Formulas for Google Sheets)。
不會寫程式碼的朋友也不用擔心,因為 Amit Agarwal 也提供已經設定好的「 Google 試算表範本」,提供有需要的人複製使用,這時候不需要自己寫腳本,也能直接套用 Google 地圖函式。
當「 Google 試算表」中可以結合「 Google 地圖的函式運算」,能夠創造什麼利用呢?
除了可以把 Google 試算表變成你需要的地圖資料庫外,或許也可以用在單純的「排行程」、「管理寄件清單」這些日常工作上。
例如,在 Google 試算表排出行程,利用「 Google 地圖函式」,自動計算每一段行程的距離、開車時間、目的地地址等等。
下面我就用這個例子,示範看看這套「 Google 試算表 + Google 地圖函式範本」,可以如何利用。
首先,因為 Google 地圖函式其實沒有內建在 Google 試算表中,所以我們必須先下載原創者 Amit Agarwal 提供的「 Google 試算表副本」,直接點擊連結,就會在你自己的 Google 雲端硬碟建立一份 Google 試算表副本。
這個 Google 試算表檔案中,已經包含了 Google 地圖自訂函式,可以用各種語法來演算 Google 地圖上的資料。
- 直接複製一份試算表範本:「 Google 試算表副本」
- 查看原始文章說明:Google Maps Formulas for Google Sheets
擁有這份專屬的 Google 試算表副本後,裡面已經內建了自訂函式,可以開始實現我想做到的行程表範例了。
接下來,我會在這份試算表副本,開一個新的工作表分頁,然後先建立行程表單的欄位:
- 日期:手動安排
- 出發地:手動安排
- 目的地:手動安排
- 距離:讓 Google 函式自動計算
- 時間:讓 Google 函式自動計算
- 地址:讓 Google 函式自動計算
需要手動安排的部分,我先自己填上資料。
接著就可以套用 Google 地圖函式,自動衍伸需要的結果。
第一個要自動計算的欄位是「距離」,我可以輸入下面的公式:
=GOOGLEMAPS_DISTANCE("出發地","目的地","交通方式")
例如:
=GOOGLEMAPS_DISTANCE(B2,C2)
或是:
=GOOGLEMAPS_DISTANCE("基隆東岸停車場","角板山公園")
就能在這一欄,自動計算出距離的結果。如果我輸入的是中文的地名,計算出來的距離單位就會是 km。
另外,實際測試也發現,不需要輸入精準的地址,只要有大概的地名,就算有一兩個字的誤差, Google 地圖函式都會自動搜尋判斷。
第二個要自動計算的欄位是「時間」,這也是我覺得排行程時最實用的,可以很簡單估算車程,方便安排行程數量與時間。
我可以輸入下面的公式:
=GOOGLEMAPS_DURATION("出發地","目的地","交通方式")
交通方式可以輸入:driving, walking, bicycling, transit 這些選擇。
例如:
=GOOGLEMAPS_DURATION(B2,C2,"driving")
或是:
=GOOGLEMAPS_DURATION("基隆東岸停車場","角板山公園","driving")
同樣的,只要輸入大概地名、景點,就能自動計算車程時間。
第三個欄位,希望直接顯示目的地的「地址」,不過這邊只能自動計算出英文的地址。
公式是:
=GOOGLEMAPS_ADDRESS("地點名稱")
只要輸入大概的地點名稱,就能自動轉換成完整的地址。
除此之外,這個 Google 地圖自訂函式,還有很多其他的語法,例如:
- 地址轉成國家
- =GOOGLEMAPS_COUNTRY("台北101")
- 地點轉換成經緯度
- =GOOGLEMAPS_LATLONG(台北大安森林公園)
有需要的朋友,可以自行思考看看有什麼延伸用途,也歡迎你留言分享。
以上分享我自己用得到的實作案例,需要的朋友,則請參考與下載原創者 Amit Agarwal 的檔案:
- 直接複製一份試算表範本:「 Google 試算表副本」
- 查看原始文章說明:Google Maps Formulas for Google Sheets
或者可以進一步研究其他的 Google 試算表利用:
- Google 試算表自製全自動多國語言翻譯機,範本下載
- Google 試算表自動換算匯率:旅行記帳、即時日幣美金走勢圖
- 一條函數公式讓多份 Google 試算表帳目自動匯整到總表教學
- Google 試算表不是只能做表格,內建到外掛10個活用案例教學
(歡迎社群分享。但全文轉載請來信詢問,禁止修改上述內文,禁止商業使用,並且必須註明來自電腦玩物原創作者 esor huang 異塵行者,及附上原文連結:Google 試算表加 Google 地圖函式,自動計算行程距離、時間與地址)
看到最近城邦又開始有講會
回覆刪除時間管理三十道難題,會磅礡重啟嗎?
來,建議一下,時間管理的三十道難題講會
回覆刪除可以採用現場 youtube 直播;永錫 最近直播也播的很開心
一隻手機就可以搞定
社群傳播的效應大
這次的出版,非生產力工具,大家對時間管理的認知
可能是又期待又怕受傷害
好好地弄一場大的,把劣勢轉化為優勢
這是一個好建議哩
刪除算了,當我沒提好了
刪除反正,也不會辦
Google Script 程式用到很多我不會的技巧,學到很多 :)
回覆刪除提供一個可以在 Google 試算表將金額轉為國字大寫的公式:
刪除https://docs.google.com/spreadsheets/d/1w6uejtNbFMm7oyFdR2G1UOSCnCKAaueL5G1DgyHC3Do/copy
超過12位數(千億以上)不予計算
希望有幫到有需要的人。
感謝回饋
刪除好棒的分享
刪除英文地址也有用嗎?
回覆刪除請問有辦法把距離單位改成公尺嗎?
回覆刪除好像沒辦法直接從指令碼編輯器裡面改~~
您好~
回覆刪除請問原已設定好可使用狀態,但突然沒有更新了,重新設定也一樣,這可能是什麼原因造成得。 謝謝~
請問要如何將上面個地點所算出來的距離公里加總,因為我發現他是純文字,無法強迫為數字,我該如何做呢?weisheng1788@gmail.com
回覆刪除用 value 可以把文字轉數字
刪除我用這個副本計算兩地點間的距離,常常會跳出底下這個錯誤訊息
回覆刪除EXCEPTION:SERVICE INVOKED TOO MANY TIMES FOR ONE DAY;ROUTE (第89行)
甚至我連直接用副本裡面的公式
=GOOGLEMAPS_DISTANCE("Boston", "NY")
也是跳出這個錯誤訊息