[英]Google App Scripts: How to find first empty cell in row, check value in next column and set values accordingly
我正在嘗試編寫一個 Google App 腳本來查看我的電子表格 A 列中的值。 如果它找到一個空值,它應該直接檢查右側的單元格,在 B 列中。如果直接在右側的單元格中的值 == “計划”,那么它應該忽略並繼續到 A 列中的下一個空單元格.
這應該遍歷 A 列中的所有空單元格。
如果 A 列中空單元格右側的 B 列中的值 == “打開”,則應將 A 列中空單元格的值設置為“X”。
它應該循環遍歷 A 列中的每個空單元格和 B 列中的每個相應單元格,直到它確認不存在 A 列包含空值且 B 列包含“打開”值的情況。
提前感謝您的任何幫助!
樣本數據:
Output 運行腳本后:
這段代碼非常自我描述。 請檢查代碼注釋。 如果您有任何疑問,請隨時在下面發表評論
function updateSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var rows = sheet.getLastRow() - 1;
var colARange = sheet.getRange(2, 1, rows, 1);
var colBRange = sheet.getRange(2, 2, rows, 1);
// 2d array -> 1d array for easier data accessibility
var colAValues = colARange.getValues().flat();
var colBValues = colBRange.getValues().flat();
for(var i = 0; i < rows; i++) {
// If A is blank and B is 'Open', set A to 'X'
if(!colAValues[i] && colBValues[i] == 'Open') {
sheet.getRange(i + 2, 1).setValue('X');
}
}
}
function checkEmptyCells() {
const range = SpreadsheetApp.getActiveSheet().getRange('A:B')
// Get the value of column A & B
const values = range.getValues()
const length = values.length
let r = -1
// Loop through checking for empty "" cells in column A
while (++r < length) {
if (values[r][0] == '') {
// assign value "X" if A is an empty cell and B is "Open"
values[r][0] = values[r][1] === 'Open' ? 'X' : ''
}
}
range.setValues(values)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.