2017-05-29 9 views
0

Google Appsスクリプトの一部私は、列値を使ってループを作成し、その場所にデータを格納しています。これらの列のデータを上書きしないようにするため、この操作から特定の行を除外したいと考えています。ループ計算のためにGoogle Appsスクリプトから特定の列を除外する方法

// save back the values from the editor sheet to the master data sheet 
var lookUpTable = ss.getRangeByName("Editor_sheet_template!z_saveback_LookupTableOfCellsAndColumnsToSave"); 
var sourceCellAddress, sourceCellValue, targetCell, targetCellColumn; 
// iterate through all rows in the lookup table 
for (var cellRow = 1; cellRow <= lookUpTable.getHeight(); cellRow++) { 
    // save the value of the editor sheet cell listed in the lookup table to its 
    // corresponding column on the master data sheet 
    sourceCellAddress = lookUpTable.getCell(cellRow, /* column */ 1).getValue(); 
    sourceCellValue = editorSheet.getRange(sourceCellAddress).getValue(); 
    targetCellColumn = lookUpTable.getCell(cellRow, /* column */ 2).getValue(); 
    if(targetCellColumn != 'A','D','E'){ 
    Logger.log(targetCellColumn); 
    targetCell = masterDataSheet.getRange(targetCellRow, targetCellColumn); 
    targetCell.setValue(sourceCellValue); 
    } 
}  

答えて

0

セルの値を取得する代わりに、A1表記を取得し、部分文字列メソッドを使用して文字を取得するとします。次に、列A、D、またはEを調べるための条件付きの 'if'が機能するはずです。

// save back the values from the editor sheet to the master data sheet 
var lookUpTable = ss.getRangeByName("Editor_sheet_template!z_saveback_LookupTableOfCellsAndColumnsToSave"); 
var sourceCellAddress, sourceCellValue, targetCell, targetCellColumn; 
// iterate through all rows in the lookup table 
for (var cellRow = 1; cellRow <= lookUpTable.getHeight(); cellRow++) { 
    // save the value of the editor sheet cell listed in the lookup table to its 
    // corresponding column on the master data sheet 
    sourceCellAddress = lookUpTable.getCell(cellRow, /* column */ 1).getValue(); 
    sourceCellValue = editorSheet.getRange(sourceCellAddress).getValue(); 
    targetCellColumn = lookUpTable.getCell(cellRow, /* column */ 2) 
    .getA1Notation().substring(0, 1); //this gets the first character of the A1 Notation which is the column letter 
    if(targetCellColumn != 'A','D','E'){ 
    Logger.log(targetCellColumn); 
    targetCell = masterDataSheet.getRange(targetCellRow, targetCellColumn); 
    targetCell.setValue(sourceCellValue); 
    } 
} 
関連する問題