Есть следующая задача: вывести в ячейки таблицы значение "1" при условии, что значения в диапазоне А2:С4 будут совпадать с значениями в диапазоне строки D1:L1. При всем при этом "1" должна быть выведена в диапазоне D2:L4 в той же строке, что и искомые значения диапазона А2:С4 и в той же колонке, что и искомые значения диапазона D1:L1. Прилагаю скрин таблицы, как это должно выглядеть.
Так же прикладываю последнюю из наверное 50 вариаций кода.
function getAndSetDate() {
let app = SpreadsheetApp;
let ss = app.getActiveSpreadsheet();
let namess = ss.getSheetByName("ТЕСТ");
let lastRow = namess.getLastRow();
let lastColumn = namess.getLastColumn();
let dateRow = namess.getRange(1, 4, 1, lastColumn-3).getValues();
let dateColumn = namess.getRange(2, 1,lastRow-1, lastColumn-9).getValues();
let dateEmpty = namess.getRange(2, 4, lastRow-1, dateRow[0].length).getValues();
let one = 1;
let nan = '';
let idxDateRow = 0;
let idxDateEmpty = 0;
let idxDateRow2 = 0;
let idxDateEmptyRow = 0;
for(let row = 0; row < dateColumn.length; row++){
for(let col = 0; col < dateColumn[0].length; col++){
for(let drow = 0; drow < dateRow.length; drow++){
for(let dcol = 0; dcol < dateRow[0].length; dcol++){
for(let derow = 0; derow < dateEmpty.length; derow++){
for(let decol = 0; decol < dateEmpty[0].length; decol++){
dateEmpty[derow].forEach((deelem, deindex) =>{
dateRow[drow].forEach((delem,dindex) =>{
if(dateColumn.indexOf(idxDateRow) == dateEmpty.indexOf(idxDateEmpty) && dateColumn[row][col] == dateRow[drow][dcol] && deindex == dindex){
dateEmpty[derow][decol] = one;
}else{
dateEmpty[derow][decol] = nan;
};
});
idxDateRow +=1;
idxDateEmpty +=1;
idxDateEmptyRow +=1;
idxDateRow2 +=1;
});
};
};
};
};
};
};
console.log(dateEmpty);
};