Задать вопрос
  • Как написать скрипт для google sheets с автозаполнением?

    @Bandyloo
    Ответ chatgpt, проверяйте:

    Чтобы решить проблему, можно использовать Google Apps Script. Скрипт будет автоматически заполнять формулы в ячейки после добавления данных в таблицу. Вот как это сделать:

    1. Откройте Google Sheets.

    2. Перейдите в меню Extensions → Apps Script.

    3. Вставьте следующий скрипт:

    function onEdit(e) {
    var sheet = e.source.getActiveSheet();
    var range = e.range;

    // Убедитесь, что скрипт работает только для определённого листа
    if (sheet.getName() === "Sheet1") { // Замените "Sheet1" на имя вашего листа
    var row = range.getRow();
    var col = range.getColumn();

    // Проверяем, что данные добавляются в диапазон A:D
    if (col >= 1 && col <= 4 && row > 1) { // Пропускаем заголовок
    var gender = sheet.getRange(row, 1).getValue(); // Ячейка A
    var weight = sheet.getRange(row, 2).getValue(); // Ячейка B
    var height = sheet.getRange(row, 3).getValue(); // Ячейка C
    var age = sheet.getRange(row, 4).getValue(); // Ячейка D

    // Вычисление дневной нормы калорий
    var calories;
    if (gender === "man") {
    calories = 88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age);
    } else if (gender === "woman") {
    calories = 447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
    } else {
    calories = "Неверный пол";
    }
    sheet.getRange(row, 5).setValue(calories); // Записываем в ячейку E

    // Вычисление дефицита калорий
    var deficit;
    if (typeof calories === "number") {
    if (calories > 2300) {
    deficit = "1800 ккал";
    } else if (calories > 2000) {
    deficit = "1650 ккал";
    } else if (calories > 1700) {
    deficit = "1500 ккал";
    } else {
    deficit = "1350 ккал";
    }
    } else {
    deficit = "Ошибка";
    }
    sheet.getRange(row, 6).setValue(deficit); // Записываем в ячейку F
    }
    }
    }

    4. Сохраните проект, например, как AutoFillFormulas.

    5. Перейдите в Triggers (триггеры) и добавьте новый триггер:

    Выберите функцию onEdit.

    Выберите событие On edit.

    Теперь, когда Make добавляет данные в столбцы A:D, скрипт автоматически вычислит значения для столбцов E и F.
    Ответ написан
    Комментировать