Вы можете прочитать столбцы «Ключ» и «Значения» и использовать их для создания строк с возможностью записи для Sheet3. В приведенном ниже коде показан простой способ сделать это внутри test
функции, которую вы можете скопировать / вставить и запустить.
function test() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName('Sheet1');
var s2 = ss.getSheetByName('Sheet2');
var s3 = ss.getSheetByName('Sheet3');
// read Key column, [ [value], [value], [value]... ]
var v1 = s1.getRange(2, 1, s1.getLastRow() - 1, 1).getValues();
// flatten array of arrays into array, [value, value...]
v1 = v1.map(function(el) {
return el[0];
});
// read Values column, [ [value], [value], [value]... ]
var v2 = s2.getRange(2, 1, s2.getLastRow() - 1, 1).getValues();
// flatten array of arrays into array, [value, value...]
v2 = v2.map(function(el) {
return el[0];
});
// hold rows to insert, will become [row, row]
var result = [];
v1.forEach(function(k) {
v2.forEach(function(v) {
// create row as [k, v]
result.push([k, v]);
});
});
// get range of required length and insert values into sheet
// 2, which row to start, 1, which col to start, result.length, how many rows, 2, how many cols
s3.getRange(2, 1, result.length, 2).setValues(result);
}
См. this для map
, это для forEach
, this для SpreadsheetApp
и это для sheet
.
person
ra89fi
schedule
11.03.2019