Как нейросеть пишет формулы Excel: генерация по описанию задачи

Опишите, что нужно посчитать, и модель вернёт готовую формулу. Разбираем промпт, русские и английские имена функций, разделители аргументов и проверку на тестовых данных.

5 мин · · автоматизация · бизнес

Простую сумму написать несложно, но условия, поиск по справочнику и вложенные проверки отнимают время на поиск синтаксиса. Нейросеть для формул Excel решает это так: вы описываете задачу словами, модель возвращает формулу, а вы проверяете её на трёх-четырёх строках. Ниже — шаблон промпта, примеры с разбором логики, таблица русских и английских имён функций и код для генерации формул через API.

Как описать задачу, чтобы получить рабочую формулу

Модель не видит вашу таблицу, поэтому ей нужно сообщить четыре вещи: какие столбцы и диапазоны, что считать, где будет результат и какой у вас Excel. Последний пункт важнее, чем кажется: в русском Excel функции называются по-русски, а аргументы обычно разделяются точкой с запятой, в английском — по-английски и через запятую.

Пример таблицы продаж:

A — ТоварB — СтатусC — КоличествоD — Цена
2НоутбукГотово51000
3МышьВ обработке1050
4КлавиатураГотово3200
5НоутбукГотово21000

Промпт:

Excel с русским интерфейсом, разделитель аргументов — точка с запятой. Столбцы: A — Товар, B — Статус, C — Количество, D — Цена. Данные в A2:D100. Нужна формула для ячейки F1: сумма Количество × Цена только для строк, где Статус = "Готово". Верни одну формулу без пояснений.

Подходящий ответ:

=СУММПРОИЗВ((B2:B100="Готово")*C2:C100*D2:D100)

Проверка на четырёх строках: 5 × 1000 + 3 × 200 + 2 × 1000 = 5000 + 600 + 2000 = 7600. Строка с мышью отбрасывается, потому что условие B3="Готово" даёт ЛОЖЬ, то есть 0.

Если модель предложит что-то вроде =СУММЕСЛИМН(C2:C100*D2:D100;B2:B100;"Готово") — это ошибка: СУММЕСЛИМН принимает в качестве диапазона суммирования только ссылку на ячейки, а не вычисленный массив. Рабочий вариант через СУММЕСЛИ — добавить вспомогательный столбец E с формулой =C2*D2 и посчитать =СУММЕСЛИ(B2:B100;"Готово";E2:E100).

Примеры формул с разбором

СУММЕСЛИ (SUMIF): сумма по одному условию

Задача: сумма продаж категории «Электроника». Категория в B2:B100, сумма в C2:C100.

=СУММЕСЛИ(B2:B100;"Электроника";C2:C100)

Порядок аргументов: диапазон условия, само условие, диапазон суммирования. У СУММЕСЛИМН порядок другой — диапазон суммирования идёт первым: =СУММЕСЛИМН(C2:C100;B2:B100;"Электроника";D2:D100;">1000"). Это частая причина ошибок, поэтому проверяйте порядок в ответе модели.

ВПР (VLOOKUP) и ИНДЕКС+ПОИСКПОЗ (INDEX/MATCH): поиск по справочнику

Задача: на Лист1 в A2 артикул, на Лист2 справочник — артикулы в A, цены в B. Нужна цена в Лист1!B2.

=ВПР(A2;Лист2!A:B;2;ЛОЖЬ)

Последний аргумент ЛОЖЬ (или 0) означает точное совпадение; без него ВПР ищет приблизительно и на неотсортированном справочнике вернёт неверную цену. Вариант, который не зависит от порядка столбцов:

=ИНДЕКС(Лист2!B:B;ПОИСКПОЗ(A2;Лист2!A:A;0))

ПОИСКПОЗ находит номер строки артикула, ИНДЕКС берёт значение из этой строки столбца B. Если артикула нет, обе формулы вернут #Н/Д; чтобы показать пустую ячейку, оберните их: =ЕСЛИОШИБКА(ВПР(A2;Лист2!A:B;2;ЛОЖЬ);"").

ЕСЛИ (IF): несколько порогов

Задача: бонус по объёму продаж в A2. До 100 000 — 0%, от 100 000 до 499 999 — 5%, от 500 000 — 10%.

=ЕСЛИ(A2<100000;0;ЕСЛИ(A2<500000;5;10))

Проверка на граничных значениях: 99 999 → 0; 100 000 → первое условие ложно, второе истинно → 5; 500 000 → оба ложны → 10. Формулируйте пороги в промпте так же явно («от … включительно»), иначе модель сама решит, куда отнести ровно 500 000.

СЧЁТЕСЛИ и СРЗНАЧЕСЛИ: количество и среднее по группе

=СЧЁТЕСЛИ($A$2:$A$100;A2) =СРЗНАЧЕСЛИ($A$2:$A$100;A2;$B$2:$B$100)

Первая считает, сколько раз категория из A2 встречается в списке, вторая — среднее значение по этой категории. Знаки $ закрепляют диапазон, чтобы формулу можно было протянуть вниз.

Русские и английские имена функций

Русский ExcelАнглийский ExcelЧто делает
СУММSUMСумма
СУММЕСЛИSUMIFСумма по условию
СУММЕСЛИМНSUMIFSСумма по нескольким условиям
СУММПРОИЗВSUMPRODUCTСумма произведений массивов
ЕСЛИIFУсловие
ЕСЛИОШИБКАIFERRORЗначение при ошибке
ВПРVLOOKUPПоиск по первому столбцу диапазона
ИНДЕКСINDEXЗначение по номеру строки/столбца
ПОИСКПОЗMATCHПозиция значения в диапазоне
СЧЁТЕСЛИCOUNTIFКоличество по условию
СЧЁТЕСЛИМНCOUNTIFSКоличество по нескольким условиям
СРЗНАЧAVERAGEСреднее
СРЗНАЧЕСЛИAVERAGEIFСреднее по условию
СРЗНАЧЕСЛИМНAVERAGEIFSСреднее по нескольким условиям
МАКС / МИНMAX / MINМаксимум / минимум

Если вставить английскую формулу в русский Excel, получите ошибку #ИМЯ?. Поэтому в промпте всегда указывайте язык интерфейса и разделитель аргументов. Разделитель зависит от региональных настроек системы: при русских настройках это точка с запятой.

Генерация формул через API

Если формулы нужны пачкой (например, для шаблона отчёта), удобнее вызывать модель из скрипта. Пример на OpenAI SDK:

bash
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_ваш_ключ")

SYSTEM = (
    "Ты пишешь формулы Excel. Интерфейс русский, разделитель аргументов — "
    "точка с запятой. Используй только русские имена функций. "
    "Отвечай одной формулой, начинающейся со знака =, без пояснений."
)

def make_formula(task: str, model: str = "claude-sonnet-5") -> str:
    resp = client.chat.completions.create(
        model=model,
        messages=[

Модели для такой задачи: claude-sonnet-5, gpt-5.6-sol (по $0.3 за 1M токенов) или glm-5.3-flash ($0.04). Какая чаще пишет правильные формулы для ваших таблиц, проверьте сами: прогоните 10–15 своих задач через каждую и сравните результат с ручной проверкой. Актуальный список моделей — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Расход считается по usage в ответе. Например, если запрос занял 150 входных и 40 выходных токенов, на claude-sonnet-5 это (150 + 40) × 0.3 / 1 000 000 = $0.000057, а 1000 таких формул — $0.057. Настройка клиента подробнее описана в руководстве по Python и быстром старте. Если не хотите писать код, те же промпты работают в чате в браузере.

Как проверять формулу от нейросети

  1. Сделайте 3–5 тестовых строк, где ответ легко посчитать в уме, включая граничные случаи (ровно порог, пустая ячейка, отсутствующий артикул).
  2. Вставьте формулу и сравните с ручным расчётом.
  3. Протяните формулу вниз и убедитесь, что закреплённые диапазоны ($) не сдвинулись.
  4. Если результат не совпал, отправьте модели формулу, тестовые данные и ожидаемый ответ — попросите найти ошибку.

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

Нейросеть ошибается в формулах?

Да, поэтому проверка на тестовых данных обязательна. Типичные ошибки — перепутанный порядок аргументов (СУММЕСЛИ и СУММЕСЛИМН), забытый $, приблизительный поиск в ВПР без ЛОЖЬ и английские имена функций в русском Excel.

Работает ли это для Google Таблиц?

Да. Укажите в промпте, что это Google Таблицы, и какой разделитель аргументов у вас в настройках. Модель сможет использовать функции, которых нет в Excel, например QUERY или REGEXMATCH.

Можно ли генерировать DAX или Power Query M?

Да, назовите язык явно: «напиши меру DAX» или «напиши шаг Power Query на языке M» — и опишите таблицы и связи между ними.

А новые функции вроде ФИЛЬТР и СОРТ?

ФИЛЬТР (FILTER) и СОРТ (SORT) есть только в новых версиях Excel. Если файл откроют в старой версии, попросите модель: «используй только функции, совместимые с Excel 2016».

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.