=arrayformula(if(A:A="";;ВПР(A:A&B:B;{Справочник!A:A&Справочник!B:B\Справочник!C:C};2;0)))
let options = {
method: "POST",
headers: {
'Client-Id':'000',
'API-key':'111',
'accept': 'application/json',
},
payload: {
"filter": {
"date": {
"from": "2023-10-01T00:00:00.000Z",
"to": "2023-10-31T00:00:00.000Z",
},
"operation_type": [],
"posting_number": "",
"transaction_type": "all",
},
"page": 1,
"page_size": 1000,
},
};
=filter(ОКТЯБРЬ!S3:U; ОКТЯБРЬ!V3:V="Партнер 1")
=filter(ОКТЯБРЬ!S3:U; ОКТЯБРЬ!V3:V)
=arrayformula(let(
students_lookup; a2:a;
students; Лист2!a2:a;
dates; Лист2!b2:b;
spots; Лист2!c2:c;
find_students_records;lambda(student;join(";";filter(dates&" "&spots;students=student)));
out;byrow(students_lookup;find_students_records);
if(students_lookup="";;out)
))
=arrayformula(let(
states;J2:J;
sums;K2:K;
states_;{"Премия"; "Штраф"};
coeffs_;{1 ; -1 };
coeff;lambda(state;ЕСЛИОШИБКА(ВПР(state;{states_\coeffs_};2;0);1));
out;sums*coeff(states);
ЕСЛИ(states="";;out)
))
=9,5/24
// Установить триггер на отправку формы
function onFormSubmitTrigger() {
const formDataSheetName = "Общая база";
const sheetNameHeader = "Округ или город "; // Заголовок который определяет имя листа. Обратите внимание, тут пробел в данных лишний, лучше всего при изменении заголовка просто копировать значение сюда. Или наоборот - отсюда.
let ss = SpreadsheetApp.getActiveSpreadsheet();
let formDataSheet = ss.getSheetByName(formDataSheetName);
let lastRow = formDataSheet.getLastRow(); // Номер строки с последним ответом
let headers = formDataSheet.getRange(`1:1`).getValues()[0]; // Заголовки
let sheetNameColumnIndex = headers.findIndex(h=>h===sheetNameHeader); // Индекс столбца который определяет имя листа
if (sheetNameColumnIndex===-1){ // Если не найден
throw new Error(`Не найдено "${sheetNameHeader}" в заголовках`);
};
let lastAnswers = formDataSheet.getRange(`${lastRow}:${lastRow}`).getValues()[0]; // Строка данных последних ответов
let outSheetName = lastAnswers[sheetNameColumnIndex]; // Получаем имя выходного листа
let outSheet = ss.getSheetByName(outSheetName) || ss.insertSheet(outSheetName); // Получаем лист или добавляем такой (если его нет)
outSheet.appendRow(lastAnswers); // Выводим данные
};