Как в массиве добавить условие
Есть массив данных в таблице как на картинке. К нижеуказанному коду необходимо добавить, что если элемент массива [02]==="Дмитрий", то по остальным элементам необходимо провести расчет item[1]-item[0], а если [02]==="Павел", то для этих элементов расчет будет другим, а именно item[1]-item[0]+1, т.е. добавляем единицу.
Пока написал код ниже и впал в ступор, не могу понять, как добавить это условие.
function Calcullation() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sheet = ss.getSheetByName('data');
let lr = sheet.getLastRow();
let range = sheet.getRange(1, 1, lr, 3).getValues();
let newarr = range.map(calc);
function calc(item) {
return [item[1] - item[0]];
}
let setvalues = sheet.getRange(1, 4, newarr.length).setValues(newarr).setHorizontalAlignment('center');
}
Ответы (1 шт):
Автор решения: contributorpw
→ Ссылка
/* exported simpleCalculationByRowSample */
function simpleCalculationByRowSample() {
const book = SpreadsheetApp.getActive();
const sheet = book.getSheetByName('Пример простого расчета по строкам');
const data = sheet.getDataRange().getValues();
data.splice(0, 2); // Отрываем шапку
const values = data.map(calc_);
sheet.getRange(3, 4, values.length, values[0].length).setValues(values);
}
function calc_(row) {
const [param1, param2, name] = row;
if (name === 'Дмитрий') return [param2 - param1];
else if (name === 'Павел') return [param2 - param1 + 1];
return [''];
}
Пример в Таблице https://docs.google.com/spreadsheets/d/1MqeW7LkEUcsDH8lUksXBLHWmSeu8up2Jr_3ujVwE4SE/edit#gid=23944170&range=A1

