簡體   English   中英

Google App Scripts:如何在行中找到第一個空單元格,檢查下一列中的值並相應地設置值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM