Автоматизация Google Таблиц и Excel с ИИ: пять рабочих схем

Автоматизировать Google Таблицы и Excel с ИИ проще всего так: оставить таблицу хранилищем, вынести логику наружу и дать ей расписание. Скрипт по расписанию забирает данные из почты, форм и чатов, модель разбирает неструктурированный текст в поля, проверка по справочнику отбрасывает мусор, строки дописываются в лист через API, а формула считает итоги. Первый такой контур собирается за один рабочий день; дальше новый источник добавляется за пару часов.

Главная ошибка — начинать с инструмента. «Поставьте нам ИИ в Excel» почти всегда означает, что задача ещё не сформулирована: непонятно, что на входе, кто отвечает за ошибку и как понять, что стало лучше. Сначала определяется результат, потом выбирается схема из пяти, описанных ниже.

Что обычно автоматизируют, а что нет

Автоматизируют: перенос строк из писем, форм, чатов и мессенджеров; нормализацию данных (телефоны, даты, названия компаний и услуг); дозаполнение справочников; сверку двух листов; сводку по расписанию в почту или Telegram; ответы на вопросы по таблице вроде «сколько заявок пришло на прошлой неделе».

Не стоит автоматизировать: согласования, у которых нет владельца процесса; решения вроде «что закупать»; расчёты, где формулы уже ошибались, — сначала лечится модель данных, иначе автоматизация просто ускорит неверный результат. И отдельно: таблица, которую правит пять человек без правил, не автоматизируется ничем, кроме наведения порядка.

Три уровня автоматизации

Первый уровень — внутри файла: формулы, сводные таблицы, Apps Script в Google Таблицах и Office Scripts в Excel. Плюс: ничего не нужно снаружи, всё живёт рядом с данными. Минус: логика привязана к файлу, ломается при копировании, не умеет ждать внешние системы и почти не видна новому сотруднику.

Второй уровень — внешний контур: отдельный скрипт или сценарий по расписанию читает и пишет через API. Здесь появляются журнал, повторные попытки и обработка ошибок — то, без чего автоматизация живёт до первого сбоя. Это уровень, на котором делается большинство рабочих задач.

Третий уровень — агент: те же чтение и запись плюс модель, которая разбирает текст, раскладывает его по полям, помечает сомнительное и отвечает на вопросы по данным. Агент не отменяет первые два уровня, он надстраивается над ними.

Схема 1. Google Sheets API: чтение, дописывание, обновление

Доступ собирается так: проект в Google Cloud, включённый Sheets API, сервисный аккаунт и его почта, которой выдан доступ к нужному файлу. Идентификатор таблицы берётся из адреса. Дальше три базовых вызова: values.get читает диапазон по A1-нотации, values.append дописывает строки в конец таблицы, values.update перезаписывает конкретный диапазон. Форматирование и ширины колонок — через batchUpdate.

У values.append есть неочевидное поведение: метод ищет «таблицу» внутри указанного диапазона и дописывает следующую строку, начиная с первого столбца этой таблицы (описание метода). Если в диапазон попали пустые столбцы справа или слева, строка может уехать не туда. Лечится точным диапазоном по факту данных и ключом в первой колонке.

Параметр valueInputOption решает, как таблица разберёт вход: RAW оставляет строку как есть, USER_ENTERED интерпретирует её так же, как ручной ввод, включая даты и числа. Из-за этого «2026-11-10» и «10.11.2026» могут превратиться в разные типы — формат даты лучше фиксировать до запуска.

Лимиты важнее, чем кажется: 300 запросов в минуту на проект и 60 в минуту на пользователя, плюс таймаут обработки запроса 180 секунд; при превышении API отвечает ошибкой и просит повторить после паузы с нарастающей задержкой (квоты Sheets API). Практический вывод: писать пачками, а не по строке в цикле, и разносить тяжёлые прогоны по расписанию.

Схема 2. Apps Script: скрипт внутри таблицы

Apps Script — это JavaScript внутри Google Таблиц. Он запускается по времени, при изменении файла, по отправке формы или по кнопке в меню. Хорош для рутины: сверить два листа, разложить строки по вкладкам, отправить сводку в Telegram или на почту, подчистить дубли. Сервер не нужен, доступы уже есть у владельца файла.

Ограничения честные: 6 минут на одно выполнение и 20 триггеров на пользователя на скрипт (квоты Apps Script), а сами триггеры принадлежат автору скрипта. Если автор уходит и его доступ отзывают, расписание тихо перестаёт работать. Поэтому в рабочем контуре у скрипта должен быть служебный владелец, а в журнале — отметка о последнем успешном запуске.

Ещё одно правило: тяжёлую часть (обращение к модели, разбор файлов, внешние API) лучше держать снаружи, а в таблице оставить тонкий клиент, который забирает готовые строки. Иначе шесть минут превращаются в потолок всей системы.

Схема 3. Excel и Microsoft Graph

Для файла, который лежит в OneDrive или SharePoint, вход — Microsoft Graph: ресурсы workbook, workbook/worksheets, диапазоны и таблицы (справочник Excel API). Нужна регистрация приложения в Azure AD, права на запись файлов и токен. Пакетные операции идут через сессию: одна сессия — много изменений, меньше запросов.

Квоты здесь щедрее, но не бесконечные: для Excel через Graph действует лимит 1500 запросов за 10 секунд на приложение в рамках тенанта и 5000 за 10 секунд суммарно по всем тенантам (лимиты Graph). Для типичной выгрузки на несколько тысяч строк это запас, для построчного обхода по одному запросу на ячейку — уже нет.

Когда брать: файл уже в Microsoft 365, есть администратор, который выдаст доступы, и нужен собственный код или интеграция с внутренней системой.

Схема 4. Power Automate и Excel Online (Business)

Конструктор без кода: триггер (новая форма, письмо, расписание) и действия коннектора — «List rows present in a table», «Add a row into a table», «Run script» (описание коннектора). «Run script» вызывает Office Scripts, то есть сложную логику можно написать кодом, а расписание и связки с другими сервисами оставить конструктору.

У коннектора есть прямо описанное ограничение: в действии «List rows present in a table» данные могут быть не самыми свежими, если используется фильтрация или сортировка. В отчётности это критично: цифра за вчера может прийти из кеша. Лечится отметкой времени синхронизации в самой таблице, а не доверием к ответу коннектора.

Когда брать: команда не пишет код, лицензии Microsoft 365 уже есть, а сценариев немного. Когда не брать: тысячи строк на прогон и жёсткие требования к задержке.

Схема 5. Агент, который ведёт таблицу

Агенту хватает четырёх инструментов: прочитать диапазон, дописать строку, обновить ячейку по ключу, отправить уведомление. Каждый работает в разрешённых границах: конкретный лист, конкретные колонки, максимум строк на запуск. Всё остальное — запрещено на уровне кода, а не в инструкции модели.

Модель включается там, где вход неструктурирован: письмо клиента, сообщение в чате, скан накладной, голосовое. На выходе — строго поля строки, проверенные по схеме: если модель не нашла значение, поле остаётся пустым, а строка уходит в лист «на проверку». Такой шаг важнее, чем кажется: агент, который заполняет любое поле любой ценой, портит базу быстрее, чем ручной ввод.

Запреты для такого агента формулируются коротко: не удалять строки, не перезаписывать историю, не считать итоги. Итоги считает формула, потому что её результат можно перепроверить, а ответ модели — нет. И каждое действие пишется в журнал: дата, источник, кто подтвердил, идентификатор строки.

Правила схемы данных

Одна строка — одна запись. Первая строка — заголовки, без объединённых ячеек. Идентификатор в первой колонке. Отдельные листы: данные, справочники, журнал. Даты в одном формате, числа без текстовых приписок. Никаких «итого» внутри данных — итоги живут на отдельном листе или в формуле над диапазоном.

Формат меняется только с версией: если добавляется колонка, старый скрипт должен падать с понятной ошибкой, а не писать значение в соседнюю. Это скучная часть, но именно она отличает контур, который живёт годами, от демонстрации.

Где ломается чаще всего

Права. Сервисный аккаунт не видит файл, пока файл ему не открыт; приложение Azure AD получает не те права; триггер Apps Script принадлежит человеку, который уже не работает в компании. Половина «неработающих автоматизаций» — это доступы, а не код.

Лимиты. Обход пяти тысяч строк по одному запросу — это пять тысяч запросов и почти гарантированная ошибка квоты. Лечится пачками, расписанием и повторными попытками с задержкой.

Устаревшие данные. Кеш коннектора, часовая синхронизация, «вчерашняя» выгрузка: отчёт выглядит рабочим, но показывает не то. Отметка времени последней синхронизации в самой таблице снимает вопрос.

Модель без справочника. Если в таблице нет списка допустимых значений, модель уверенно поставит неверную категорию. Валидация по справочнику и лист «на проверку» решают это дешевле, чем смена модели.

Формулы и данные на одном листе. Вставка строки ломает абсолютные ссылки, а сортировка перемешивает расчёты. Отдельный лист данных — самое дешёвое профилактическое средство.

Сколько времени занимает

Схема внутри файла (формулы, Apps Script, Office Scripts): два-четыре часа на первый сценарий. Внешний контур на Sheets API или Microsoft Graph: один рабочий день, включая доступы и журнал; каждый следующий источник — два-три часа. Агент с разбором текста и приёмкой: два-три дня, и примерно половина этого времени уходит на правила, справочники и проверку на реальных строках, а не на код.

Если доступ к API закрыт корпоративной политикой, срок не считается: сначала администратор и права. Это самая частая причина, по которой проект «на день» занимает две недели.

Чек-лист запуска

Задача сформулирована в терминах результата: какая строка должна появиться в таблице и откуда. Определён владелец процесса и тот, кто разбирает ошибки. Есть ключ и фиксированные заголовки. Выданы доступы: сервисный аккаунт или приложение Azure AD. Задано расписание и лимит строк на прогон. Написаны правила «что делать при сбое». Ведётся журнал с временем последней успешной синхронизации. Первые две недели — приёмка человеком. И тест на десяти реальных записях до включения расписания.

Если из списка есть только таблица и желание, начинайте с ключа, заголовков и справочников: они нужны в любой из пяти схем и не зависят от того, какой инструмент вы выберете.

Частые вопросы

Можно ли автоматизировать Excel без Power Automate?
Да. Есть два пути: Microsoft Graph API, если логику пишет разработчик и файл лежит в Microsoft 365, и Office Scripts, если достаточно кода внутри файла в Excel в браузере. Power Automate нужен прежде всего для расписания и связок с другими сервисами, когда собирает не программист.
Нужен ли программист, чтобы автоматизировать Google Таблицы?
Для простых сценариев нет: Apps Script пишется на JavaScript, типовые примеры копируются и правятся. Программист нужен, когда появляются внешние API, очереди, повторные попытки и обработка ошибок — то есть когда скрипт становится сервисом.
Что делать, если API отвечает ошибкой 429?
Это превышение квоты. Помогают пауза с нарастающей задержкой, замена построчного цикла на пакетные запросы и разнос тяжёлых прогонов по расписанию. В Sheets API лимит — 300 запросов в минуту на проект и 60 в минуту на пользователя.
Может ли ИИ считать итоги в таблице?
Считать должны формулы: их результат воспроизводим и проверяем. Модель полезна на входе — разобрать письмо или скан в поля — и на выходе, когда нужно объяснить сводку словами. Доверять модели арифметику в отчётности не стоит.

Читайте также

Подписаться на блог в Telegram

Читайте свежие кейсы об AI-автоматизации, системной архитектуре и масштабировании бизнеса.

Подписаться

Готовые агенты в клубе Solar Inside

То, о чём я пишу в блоге, лежит в клубе Solar Inside готовыми агентами с инструкциями: продажи, контент, сторис, переводчик для WhatsApp, учёт расходов. Подписка 2 500 ₽ в месяц, отменить можно в любой момент.

Посмотреть агентов