=filter(filter(GoogleFinance("CURRENCY:USDRUB"; "close"; D2);{0;1});{0\1})
╔═══╦═══╗
║ 1 ║ 2 ║
╠═══╬═══╣
║ 3 ║ 4 ║
╚═══╩═══╝
╔═══╦═══╗
║ 3 ║ 4 ║
╚═══╩═══╝
╔═══╗
║ 4 ║
╚═══╝
function doIt() {
var isModifed = false;
try{
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //Текущий лист
var data1 = ss.getRange("A3:E" + ss.getMaxRows()).getValues();
var data2 = ss
.getRange("m4:n" + ss.getMaxRows())
.getValues()
.filter(function(row) // Убираем пустые строки
{
return row[0]!="";
}
);
for (var row2=0;row2<data2.length;row2++){
for (var row1=0;row1<data1.length;row1++){
if (data1[row1][0]===data2[row2][0]){
data1[row1][4]+=data2[row2][1];
isModifed = true;
break; //Если значение найдено, дальше не ищем
};
};
};
if (isModifed ) {
ss.getRange("A3:E" + ss.getMaxRows()).setValues(data1); //Вывод данных
SpreadsheetApp.getActive().toast("Готово!");
}else{
SpreadsheetApp.getActive().toast("Такие артикулы не найдены!");
};
}catch(e){ //Если вдруг ошибка
Logger.log("Ошибка! " + e);
};
}
var ar = SpreadsheetApp.getActiveRange();//Текущая ячейка (или диапазон)
var row = SpreadsheetApp.getActiveRange().getRow();//Номер строки
var col = SpreadsheetApp.getActiveRange().getColumn();//Номер столбца
if (col>1) {
var left = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(row, column - 1);//слева
}
if (col<SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getMaxColumns()){
var right = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(row, column + 1);//справа
};
(chatId + "rndFile.gif")
/**
* Возвращает rows строк и cols столбцов из array
*
* @param {A:A} array Исходный массив
* @param {10} rows Количество строк. По умолчанию возвращаются все строки
* @param {1} cols Количество столбцов. По умолчанию возвращаются все столбцы
* @return Возвращает rows строк и cols столбцов из array
* @customfunction
*/
function take(array,rows,cols) {
if (!array.map) {return array};
var rows = rows||array.length;
var cols = cols||array[0].length;
if (array.length>rows) {array.length = rows};
return array.map(
function(row){
return row.map?((row.length>cols)?row.splice(cols,row.length-cols):row):row;
}
);
}
=take(filter(A:A;B:B);2;1)