您有三種執行這些操作的方法。
1)在您需要的範圍內將圖表公式添加到圖紙本身。然後使用GAS功能從結果單元格中讀取數據(無論您將其設置爲寫入)。然後您可以使用結果執行進一步的處理。
2)使用GAS功能將圖表公式寫入表格。然後使用更多的GAS讀取結果並處理數據。方法可以在這裏找到:https://developers.google.com/apps-script/reference/spreadsheet/range#setFormula(String)
3)您可以使用GAS創建一個自定義圖表公式,然後使用您的工作表。然後GAS可以讀取結果並處理信息。這需要對JS進行一些研究,以瞭解如何重新創建,合併和執行需要表單中的數據執行的操作。
你可以找到一個指南,使這裏自定義公式:https://developers.google.com/apps-script/guides/sheets/functions
和導向,以JS這裏:http://www.w3schools.com/js/default.asp
W3學校有一個比較全面的指導JS。 GAS使用所有原生JS方法,因爲它是JS編碼環境。查看GAS參考資料以獲取更多關於GAS特定方法的信息,這些方法可能會執行您所需的任務
如果你需要的是檢查的條件和/或通過迭代行,嘗試這樣的事情:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange(startRow, startColumn, numRows, numColumns);
var values = range.getValues(); //This is a 2D array; iterate appropriately
for (i = 0; i < values.length; i++) {
if (values[i] == conditionToCheck) {
//perform code..OR
//continue; <- This works to skip the row if the condition is met
} else {
//perform alternate code if condition is not met
}
}
}
正如我所說,.getValues()
創建一個二維數組。如果您需要通過行和列進行迭代,你需要像這樣2個for()
循環:
for (i = 0; i < values.length; i++) { //iterates through the rows
for(j = 0; j < values[i].length; j++) { //iterates through the columns in that current row
它提氣如何處理二維數組是很重要的。 values[i][j]
表示有多少行i
列和j
列。你可以可視化,像這樣:
values = [[A1, B1, C1],[A2, B2, C2],[A3, B3, C3]]
這是陣列,其中外陣列是行的陣列的陣列,而內部是細胞值的該行中的陣列通過柱。
如果已經解決了您的問題或提供了深入的見解,請不要忘記接受答案。這有助於他人找到你的問題和解決方案。 – MasterCrander