ИИ-мастерская

Как добавить ИИ в Excel через свою надстройку

Обновлено 30.10.2026

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

Это запасной вариант для случаев, когда надстройка Claude for Excel недоступна (например, её отключили политикой компании).

0. Обозначения

Для установки нужно скачать файлы по ссылке https://github.com/zhuravlstrogo/ai_excel_addins.

Нажимаем «Code» → Download ZIP.

Вместе они добавляют в Excel:

  • окно чата (макрос LLM_Chat, сочетание Ctrl+Shift+K) — вопросы по выделенным ячейкам, листу или всей книге, быстрые действия, вставка формул и ответов в ячейки, режим, в котором модель сама меняет книгу;

  • функцию =LLM() — пишется в ячейке как обычная формула и возвращает ответ модели;

  • пакетную обработку (макрос LLM_ProcessSelection, сочетание Ctrl+Shift+J) — один запрос к каждой выделенной ячейке, ответы записываются в соседний столбец;

  • отмену изменений ИИ (макрос LLM_Undo).

Надстройка Excel (.xlam) — книга с макросами, которую Excel загружает при каждом запуске. Благодаря ей всё перечисленное работает в любой книге. Всё вместе — модуль, окно чата и функция =LLM() — и есть надстройка ai_excel_addins.

Макрос — процедура на VBA внутри надстройки, которую можно запустить через Alt+F8 или сочетанием клавиш. Например, LLM_Chat — макрос, который открывает окно чата.

Окно чата — форма (UserForm) frmLLMChat внутри надстройки, а не отдельная надстройка или макрос. Сама форма пустая: кнопки и поля создаёт её код из LLMChat_code.txt.

Провайдер (прокси) — это адрес, на который Excel отправляет запросы к модели. В нашем случае это https://litellm.geotech.user.events.

API-ключ — ваш персональный ключ для доступа на прокси geotech. Тот же, что в ANTHROPIC_AUTH_TOKEN в настройках Claude Code. Ключ вписывается в окне чата → Настройки (раздел 3). Если ключа ещё нет, напишите alsu.yarulina@geotech.in.

Только Windows. На macOS и в Excel в браузере этот способ не работает: там нет компонента MSXML, через который код отправляет запросы.

Настройка делается один раз и занимает около 15 минут.

1. Собрать надстройку

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

Главное правило раздела: модуль, форма и код в ЭтаКнига должны оказаться в одном проекте — в проекте новой пустой книги.

Шаги

  1. Откройте Excel и выберите Файл → Создать → Пустая книга.

  2. Нажмите Alt+F11 — откроется редактор VBA. Слева в дереве найдите проект новой книги: VBAProject (Книга1) (номер может отличаться). Щёлкните по нему, чтобы выделить.

Модуль

  1. В меню редактора выберите File → Import File… (Файл → Импорт файла) и укажите файл ai_excel_addins.bas.

  2. В проекте VBAProject (Книга1) появится папка Modules с модулем ai_excel_addins.

Окно чата

  1. Снова щёлкните по VBAProject (Книга1) и выберите в меню Insert → UserForm. В проекте появится папка Forms с формой UserForm1.

  2. Нажмите F4 — откроется окно свойств. В строке (Name) замените UserForm1 на frmLLMChat и нажмите Enter. Имя должно совпадать посимвольно, иначе окно чата не откроется.

  3. Ничего не размещайте на самой форме: все кнопки и поля код создаёт сам.

  4. Нажмите F7 — откроется окно кода формы. Удалите всё, что в нём есть (обычно строку Option Explicit).

  5. Откройте файл LLMChat_code.txt в Блокноте, выделите всё (Ctrl+A), скопируйте и вставьте в окно кода формы.

Сочетания клавиш

  1. В проекте VBAProject (Книга1) раскройте Microsoft Excel Objects и дважды щёлкните ЭтаКнига (ThisWorkbook).

  2. Вставьте код:

Private Sub Workbook_Open()
    Application.OnKey "^+j", "LLM_ProcessSelection" ' Ctrl+Shift+J
    Application.OnKey "^+k", "LLM_Chat" ' Ctrl+Shift+K
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^+j"
    Application.OnKey "^+k"
End Sub

Копируйте только сам код, начиная со строки Private Sub Workbook_Open(). Если первой строкой окажется слово vba или VBA (подпись блока кода), удалите его — иначе появится ошибка «Invalid outside procedure».

Проверка

  1. Посмотрите на дерево слева. В проекте VBAProject (Книга1) должны быть:

  • Microsoft Excel Objects → ЭтаКнига — с кодом из шага 11;

  • Forms → frmLLMChat;

  • Modules → ai_excel_addins.

Если форма или модуль оказались в другом проекте, удалите их там (правой кнопкой → Remove… → Нет) и повторите шаги в проекте новой книги.

  1. В меню выберите Debug → Compile VBAProject. Если ничего не появилось — ошибок нет. Если появилось сообщение об ошибке, редактор выделит строку с проблемой: см. раздел 7.

Комментарии в коде написаны на английском, а русские надписи окна записаны кодами вида \u0418\u0418 намеренно: редактор VBA часто портит кириллицу при импорте. В окне чата надписи отображаются по-русски. На промпты и данные это не влияет — русский текст в ячейках и в окне чата работает нормально.

Сохранение

  1. Вернитесь в Excel и выберите Файл → Сохранить как.

  2. В поле Тип файла выберите Надстройка Excel (*.xlam). Excel сам перейдёт в папку надстроек (%AppData%\Microsoft\AddIns) — оставьте её.

  3. Назовите файл ai_excel_addins и нажмите Сохранить.

  4. Закройте эту книгу.

2. Подключить надстройку

Шаги

  1. Откройте любую книгу Excel.

  2. Выберите Файл → Параметры → Надстройки.

  3. Внизу окна в списке Управление выберите Надстройки Excel и нажмите Перейти.

  4. Поставьте галочку у ai_excel_addins. Если его нет в списке, нажмите Обзор и укажите сохранённый файл .xlam.

  5. Нажмите OK.

  6. Закройте все окна Excel и откройте заново: сочетания клавиш начинают работать только после перезапуска.

Теперь надстройка загружается при каждом запуске Excel. Больше ничего импортировать не нужно.

3. Настроить подключение

Настройки задаются в окне чата один раз и хранятся в реестре Windows для вашего пользователя.

Шаги

  1. Откройте окно чата: переключите клавиатуру на английскую раскладку и нажмите Ctrl+Shift+K.

Если окно не открылось, нажмите Alt+F8, введите в поле Имя макроса 'ai_excel_addins.xlam'!LLM_Chat (с апострофами) и нажмите Выполнить. Если кнопка Выполнить неактивна, Excel не видит макрос — см. раздел 7. Не нажимайте Создать.

  1. Нажмите Настройки.

  2. Заполните поля:

Поле

Что вписать

Адрес LiteLLM

https://litellm.geotech.user.events/v1/chat/completions — уже заполнено, не меняйте

API-ключ

Ваш API-ключ, обязательно. При вводе он скрыт звёздочками

Модель по умолчанию

ID модели по умолчанию, например anthropic/claude-sonnet-5[1m]

Список моделей (a,b,c)

ID моделей через запятую без пробелов — они появятся в списке Модель в окне чата

Язык ответов

Язык ответов: Russian или English

Температура

Оставьте пустым

Макс. токенов в чате

Максимальная длина ответа в чате, по умолчанию 4000

Макс. токенов для =LLM

Максимальная длина ответа функции =LLM(), по умолчанию 1000

Инструкции для каждого запроса

Необязательно: что модель должна учитывать всегда, например «Я инженер-геотехник, отвечай кратко»

ID моделей берите из списка доступных моделей: https://geotech.teamly.ru/at/8d7fbbbb-d16f-4f36-b99b-049bb1f567b7. ID должен посимвольно совпадать с названием модели на прокси.

  1. Нажмите Сохранить.

4. Проверить, что всё работает

Шаги

  1. Откройте любую книгу с данными и выделите несколько заполненных ячеек.

  2. В окне чата нажмите Объяснить выделенное. Пока идёт запрос, Excel может несколько секунд не отвечать — это нормально.

  3. В пустой ячейке напишите:

=LLM("Придумай 3 названия для отчёта")
  1. Если в окне чата и в ячейке появились ответы — настройка завершена.

5. Как пользоваться

Окно чата

Окно открывается по Ctrl+Shift+K и не мешает работать с книгой: можно выделять ячейки и переключать листы, не закрывая его. Крестик только прячет окно — разговор сохраняется до закрытия Excel.

Порядок работы:

  1. В списке Модель выберите модель.

  2. В списке Данные выберите, какие данные отправить модели вместе с вопросом:

  • Выделенные ячейки — значения и формулы выделенных ячеек;

  • Весь лист — весь заполненный диапазон текущего листа;

  • Обзор книги — первые 15 заполненных строк каждого листа книги (пустые строки сверху пропускаются). Чтобы модель видела всю таблицу, выберите лист и режим Весь лист;

  • Без данных — только вопрос.

  1. Напишите вопрос и нажмите Ctrl+Enter или Отправить. Модель помнит предыдущие сообщения, поэтому можно уточнять: «а теперь только по 2025 году».

Кнопки:

Кнопка

Что делает

Объяснить выделенное

Объясняет выделенные ячейки: что означают данные, что считают формулы, где возможны ошибки

Новый чат

Начинает разговор заново — модель забывает предыдущие сообщения

Формула в ячейку

Пишет формулу в активную ячейку. Выделите ячейку, опишите в поле ввода, что нужно посчитать, и нажмите кнопку. Перед вставкой формула показывается для подтверждения

Ответ в ячейки

Вставляет последний ответ начиная с активной ячейки. Таблица из ответа раскладывается по ячейкам

Отменить правки ИИ

Отменяет последние изменения, сделанные ИИ (до 20 шагов)

Сохранить чат на лист

Сохраняет переписку на новый лист

Настройки

Настройки подключения и API-ключ (раздел 3)

Очистить кэш =LLM

Очищает сохранённые ответы функции =LLM()

Быстрые действия и изменение книги

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

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

Когда галочка Разрешить правки включена, модель может предлагать изменения: записать значения и формулы, отформатировать, отсортировать, очистить диапазон, добавить лист, построить диаграмму. Если галочка выключена, модель не может менять книгу.

Изменения применяются сразу, без окна подтверждения. В окне чата появляются список изменений и результат: сколько применено и какие не удалось применить. Проверяйте их и при ошибке нажимайте Отменить правки ИИ.

В списке изменений видно:

  • какие значения и формулы записаны и в какие ячейки;

  • пометка [!] у формул, которые обращаются к внешним адресам или файлам (WEBSERVICE, HYPERLINK, ссылки http и т. п.) — если такая формула вам не нужна, сразу отмените изменения;

  • пометка [!] у форматирования диапазонов больше 5 000 ячеек — его нельзя отменить.

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

  • границы ячеек не возвращаются;

  • форматирование возвращается, только если диапазон не больше 5 000 ячеек;

  • изменения диапазонов больше 200 000 ячеек не применяются: их нельзя было бы отменить. Очистка целых столбцов (например, A:A) работает — очищается только заполненная часть.

Перед крупными изменениями сохраните копию книги.

Функция =LLM()

Первый аргумент — запрос (промпт), второй — данные, необязательный. Ответ всегда возвращается в одну ячейку, а данные можно передать любые:

Что нужно

Формула

Без данных

=LLM("Придумай 3 названия для отчёта")

Одна ячейка

=LLM("Переведи на английский"; A2)

Диапазон

=LLM("Найди аномалии в продажах"; A1:D50)

Целые столбцы

=LLM("Кратко опиши данные"; A:F)

Другой лист целиком

=LLM("Сделай выводы"; Продажи!A:Z)

В английской версии Excel аргументы разделяются запятой: =LLM("Переведи на английский", A2).

Необязательные аргументы после данных: =LLM(запрос; данные; инструкции; модель; температура; макс_токенов). Например, =LLM("Переведи"; A2; "Только перевод, без пояснений"; "anthropic/claude-sonnet-5[1m]"). Пропущенные аргументы берутся из настроек.

Советы:

  • диапазон передаётся модели как таблица, поэтому включайте в него строку заголовков — так модель поймёт, что в каком столбце;

  • пустые строки за пределами заполненной области отсекаются автоматически: A:F не отправит модели миллион пустых строк.

Обработка многих ячеек по одной

Например, нужно определить тональность 200 отзывов в ячейках A2:A201. Есть два способа.

Протянуть формулу. Напишите в B2 =LLM("Тональность: позитив/негатив/нейтрально"; A2) и протяните вниз до B201.

Макрос — удобнее для больших объёмов:

  1. Выделите ячейки A2:A201. Выделять можно только один столбец: ответы пишутся в столбец справа и затёрли бы данные соседнего выделенного столбца.

  2. Переключитесь на английскую раскладку и нажмите Ctrl+Shift+J.

  3. Введите запрос, например: Тональность: позитив/негатив/нейтрально.

  4. Ответы запишутся значениями в соседний столбец B. Прогресс виден в строке состояния внизу окна Excel. Отменить запись можно кнопкой Отменить правки ИИ в окне чата.

Что важно знать

  • Ответы =LLM() запоминаются до закрытия Excel. Если формула пересчитывается с теми же входными данными, повторный платный запрос не отправляется. Чтобы получить новый ответ на тот же запрос, нажмите Очистить кэш =LLM в окне чата, затем Ctrl+Alt+F9. После перезапуска Excel каждая формула =LLM при пересчёте снова отправит запрос — чтобы этого избежать, превратите нужные ответы в значения: Копировать → Специальная вставка → Значения.

  • Excel «замирает» на время запроса. Для десятков ячеек это заметно, поэтому для пакетной обработки лучше использовать макрос, а не протянутую формулу.

  • Перед отправкой книги коллегам превратите ответы в значения. Формулы =LLM работают только у тех, у кого установлена эта же надстройка. У остальных появится ошибка #ИМЯ?, а Excel может предложить обновить ссылки на путь к вашему .xlam.

  • Сочетания клавиш работают только в английской раскладке. В русской раскладке Ctrl+Shift+K и Ctrl+Shift+J не срабатывают.

6. Как поменять ключ, адрес прокси или модель

  • Ключ. Откройте окно чата → Настройки, впишите новый ключ в поле API-ключ и нажмите Сохранить — перезапуск не нужен.

  • Адрес прокси, модели, язык ответов. Откройте окно чата → Настройки, исправьте значения и нажмите Сохранить. Править код не нужно.

  • Новая версия надстройки. Отключите старую надстройку (Файл → Параметры → Надстройки → Управление: Надстройки Excel → Перейти, снимите галочку) и повторите разделы 1 и 2. Настройки из раздела 3 сохранятся.

7. Если возникла ошибка

Проверьте:

  • работаете ли вы в Excel для Windows — на macOS и в Excel в браузере этот способ не работает;

  • заполнено ли поле API-ключ в Настройках, вставлен ли ключ полностью, без пробелов в начале и в конце;

  • не истёк ли срок действия ключа: если тот же ключ перестал работать и в Claude Code, дело в ключе, а не в Excel;

  • указан ли в Настройках адрес https://litellm.geotech.user.events/v1/chat/completions;

  • совпадает ли имя модели посимвольно со списком моделей на прокси;

  • включён ли VPN, если он нужен для доступа к прокси;

  • работает ли интернет.

Отдельные случаи:

  • «Compile error: Invalid outside procedure». Вне процедур оказался лишний текст — чаще всего слово vba из подписи блока кода. Удалите выделенную строку и снова выполните Debug → Compile VBAProject.

  • «Ambiguous name detected». Модуль импортирован дважды или подключены две версии надстройки. Оставьте один модуль ai_excel_addins и отключите старую надстройку: Файл → Параметры → Надстройки → Управление: Надстройки Excel → Перейти, снимите галочку.

  • Ctrl+Shift+K не открывает окно чата. Переключитесь на английскую раскладку. Если не помогло, перезапустите Excel и проверьте, что код из шага 11 раздела 1 находится в ЭтаКнига проекта ai_excel_addins.xlam. Пока причина не найдена, открывайте окно через Alt+F8 → 'ai_excel_addins.xlam'!LLM_Chat → Выполнить.

  • В окне Alt+F8 кнопка «Выполнить» неактивна. Excel не видит макрос: надстройка не подключена или в ней нет модуля. Не нажимайте Создать — это создаст пустой макрос в текущей книге. Проверьте раздел 2 и шаг 12 раздела 1.

  • «В надстройке нет формы frmLLMChat». В надстройке нет формы или у неё другое имя. Нажмите Alt+F11 и проверьте, что в проекте ai_excel_addins.xlam есть Forms → frmLLMChat. Если формы нет, повторите шаги 5–9 раздела 1 в этом проекте и сохраните через Ctrl+S прямо в редакторе VBA.

  • В ячейке ошибка #ИМЯ?. Надстройка не подключена. Повторите раздел 2 и проверьте, что галочка у ai_excel_addins стоит.

  • Надстройка не загружается или макросы заблокированы. Если файл .xlam или .bas был скачан из интернета или из почты, Windows блокирует его. Щёлкните по файлу правой кнопкой → Свойства → поставьте галочку Разблокировать → OK. Если не помогло, значит, макросы запрещены политикой компании — тут поможет только IT.

  • Ошибка соединения, хотя адрес прокси открывается в браузере. Скорее всего, мешает корпоративный прокси-сервер. Нажмите Alt+F11, откройте модуль ai_excel_addins, найдите функцию RequestLLM и сделайте замену по комментарию в ней: MSXML2.ServerXMLHTTP.6.0 → MSXML2.XMLHTTP.6.0, строку http.setTimeouts удалите. Сохраните через Ctrl+S в редакторе VBA.

Если после проверки ошибка сохраняется, напишите alsu.yarulina@geotech.in.

Важно про API-ключ

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

Важно про данные

Всё, что вы передаёте в =LLM() и в окно чата, отправляется модели через прокси geotech. При выборе Весь лист или Обзор книги модели уходят данные всего листа или всей книги — проверяйте, что в них нет лишнего.

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

Дата обновления: 23 сентября 2026

Не нашли ответ? Гена поищет по всей базе знаний или заведёт обращение на консультанта