簡體   English   中英

Google Apps 腳本 - 獲取一系列單元格而不是一個單元格

[英]Google Apps Script - Get a range of cells instead of one cell

我昨天開始使用 Google Apps 腳本,當我嘗試獲取一系列單元格而不是一個單元格時,我正在努力成功運行代碼。

這是完整的代碼,如果條件為真,它將顯示一個彈出消息:

function CheckPlanNumber() {
  // Fetch the monthly sales
  var planNumbersRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plan Numbers").getRange("B2");
  var planNumbers = planNumbersRange.getValues();
  var ui = SpreadsheetApp.getUi(); 
  // Check totals sales
  if (planNumbers == "XXXX") {
    ui.alert('Contact - Plan Number missing!');
    }
}

但是,當我嘗試通過至少 10 個單元格將范圍擴展到 go 的更多單元格並驗證它們時,它不會顯示彈出消息。

function CheckPlanNumber() {
  // Fetch the monthly sales
  var planNumbersRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plan Numbers").getRange("B2:B10");
  var planNumbers = planNumbersRange.getValues();
  var ui = SpreadsheetApp.getUi(); 
  // Check totals sales
  if (planNumbers == "XXXX") {
    ui.alert('Contact - Plan Number missing!');
    }
}

Range.getValues返回二維數組中的值,所以如果你有這樣的表

|     |  A  |      B       |
| --- | --- | ------------ |
| 1   |     | Plan numbers |
| 2   |     |      123     |
| 3   |     |      XXX     |
| 4   |     |      456     |

Range.getValues( 'B2:B4' )將返回

[
      [ "123" ]
    , [ "XXX" ]
    , [ "456" ]
]

您將不得不遍歷每個值並比較它們。

var sheet            = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plan Numbers");
var planNumbersRange = sheet.getRange("B2:B10");
var planNumbers      = planNumbersRange.getValues();
var ui               = SpreadsheetApp.getUi(); 

for ( var row = 0; row < planNumbers.length; row++ ) {
    if ( planNumbers[ row ][ 0 ] == "XXXX" ) {
        ui.alert( 'Contact - Plan Number missing at row ' + ( row + 2 ) );
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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