2つの選択肢があります。最初に、Googleスプレッドシートの標準のquery()関数を使用して値を取得します。ここでの欠点は、それが値の参照に過ぎないことです。ですから、これを使用するになど、それらを並べ替えることができない、セルA1にこれを配置し、それがヘッダを引っ張ると、列Aの値とを取得しますC:Google Appsのスクリプトの答えを
=QUERY(A:C, "select A, C where B = 'blue'", 1)
: この意志ループリストのシートを通って、すべての行の列Bは、それが列Aと新しいシートのBに列AとCの値を保存します青です:もちろん
function doIt(){
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet4");
var lastRow = activeSheet.getLastRow();
var lastCol = activeSheet.getLastColumn();
var targetValues = [];
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("List");
var lastSourceRow = sourceSheet.getLastRow();
var lastSourceCol = sourceSheet.getLastColumn();
var sourceRange = sourceSheet.getRange(1, 1, lastSourceRow, lastSourceCol);
var sourceData = sourceRange.getValues();
var activeRow = 0;
//Loop through every retrieved row from the Source
for (row in sourceData) {
//IF Column B in this row has 'blue', then work on it.
if (sourceData[row][1] === 'blue') {
//Save it ta a temporary variable
var tempvalue = [sourceData[row][0], sourceData[row][2]];
//then push that into the variables which holds all the new values to be returned
targetValues.push(tempvalue);
}
}
//Save the new range to the appropriate sheet starting at the last empty row
activeSheet.getRange(lastRow + 1, 1 , targetValues.length, 2).setValues(targetValues);
}
、あなたが渡すことができます2行を置換して関数にテストする値。
function doIt(testingvar){
を渡された変数にハードコードされたテストを交換するtestingvarという変数、およびテストラインを渡す:
if (sourceData[row][1] === testingvar) {