2014年1月19日 星期日

Google spreadsheet(一)

用慣MS的EXCEL,原本懶得換別的工具
沒想到Google spreadsheet意外的好用,只是得先習慣它的操作方式


這幾天試著用內建的函數寫了<台鐵自強號列車查詢>,很意外的竟無須寫Script

預防文章的說明敘述不夠詳細,所以附上檔案供大家參考

因為權限開的是檢視模式,所以其他使用者無權操作所有功能(下拉式選單、展開隱藏列等等)

如果你有興趣並且擁有Google雲端硬碟帳號打開檔案後  檔案 / 建立副本(等同於你將檔案下載至你的Google雲端系統),之後就可以自行查看並操作所有功能

檔案連結:
查詢表-台鐵自強號


以下就用這個實例來逐一講解相關的公式使用(IMPORTHTML、QUERY、IMPORTXML、SUBSTITUTE、REGEXREPLACE、SPLIT、TRANSPOSE)

在這之前,如果要從網頁撈到資料,工具一定不能少,在此推薦FIRFOX的抓包插件 HttpFox不然現在的網頁都有使用FORM、FRAM,可能難以找到正確網址,相關教學請參考
EXCEHOME網頁採集
或自行上網搜尋

應用這個軟體,當我們填好資料送出時,抓包數據就替我們抓到正確的連結網址了

 現在我們可以利用這個網址進行 IMPORTHTML 的操作


1. IMPORTHTML



這個函數相當於EXCEL的 資料/從WEB
取得資料的功能(WEBQUERY),只不過
MS沒有提供函數給使用者操作


使用方法:
IMPORTHTML(網址, 查詢, 索引)


查詢
根據包含所需資料的結構類型,可以設定成「清單」或「表格」。

索引
從「1」開始的索引,指明應該傳回 HTML 原始碼中界定的哪個表格或清單,在網頁的原始碼內應該可以看到<table>......</table>的標籤,記得順便數一下我們要的資料在第幾組,以本例而言是第2組,所以  索引=2  。

假設你從台鐵火車時課查詢選擇客製化查詢=>台北-花蓮,自強號
網址長得應該是下面這樣
http://twtraffic.tra.gov.tw/twrail/CustomSearchResult.aspx?todate=2014/01/19&backdate=&fromstation=1008&tostation=1715&trainclass=%271100%27,%271101%27,%271102%27,%271107%27&roadtype=3&handicapped=undefined&dining=&addtrain=undefined&totime=0000&backtime=0000
把它貼到 A1 儲存格 


在 B2 儲存格內輸入如下公式,就會出現台鐵網頁的查詢結果了,對於每次搭固定點的人而言,可以寫一次一勞永逸,之後就不用上網填選資料(很煩),當然要把網頁的日期等寫成變數,以後只要改日期就好

=IMPORTHTML(A1, "table", 2)







1 則留言:

  1. 太強大了!
    通勤族常常都是固定站往返,台鐵的網站偏偏又都要反覆的選取起迄站,我只能說這真的太強大了

    回覆刪除