Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
沒想到會碰到google sheet的app script的需求,哈哈,時常耳聞如果有在使用google sheet的話app script會增加非常多助力,實際寫過還真的如此,類似Excel的巨集,但因為google api整合的很好,所以實際上能做非常多事情,今天就來記錄一下遇到的一些狀況。
使用app script在sheet中大多時間應該會去查找資料,跟資料庫不同,我們必須手刻查找的方式,就是一欄(column)一列(row)的去找,就會使用getRange 與 getDataRange這兩個函式。
主要功能就是指定資料範圍,可以選用A1標記或是R1C1標記。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=zh-tw#getrangea1notation
舉例來說如下,以sheet中的第一欄第一列那格儲存格(cell)來說:
getRange('A1') //(欄位置,列位置)
getRange(1,1,1,1) //(起始列,起始欄,欄數,列數)
在sheet上方可以看到每欄都有標記像是A~Z
左側則有列數標記1 ~ 1000
以此類推
有幾種範圍指定方式,
1.指定一個儲存格(cell)
就是上述例子,規格就是先欄後列,所以就是getRange('A1'),如果是B20那就是getRange('B20'),用R1C1標記的話就getRange(2,20,1,1),
2.指定範圍
將以上方式拓展成一個區域時的寫法如下,例如A1~C10,也就是會有3欄10列的狀況。
getRange('A1:C10')
getRange(1,1,3,10)
當然你想要指定某欄或某列就要看你的資料長相如何來決定囉。
這個函式會指定這張分頁的所有資料(有資料的範圍),並且回傳所有資料,像是以下
getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn())
有個跟getRange很像的getRangeList,則是可以回傳多個範圍內的集合,效果不同。