Как связать ChatGPT с таблицами
Участники Нейроцеха часто просили подробный гайд о том, как интегрировать нейросети в таблицы и решать рутинные задачи быстрее. Поэтому мы написали эту инструкцию и пошагово рассказали, как подключить ChatGPT к гугл-таблицам. Подобный алгоритм будет и для других нейронок.
Шаг 1. Устанавливаем расширение в таблицы
Важно! Инструкция подходит для браузера Google Chrome и хром-подобных браузеров: Brave, Opera, Яндекс Браузер.
Переходим в Google Workspace Marketplace и в поисковой строке пишем «GPT for Sheets and Docs». Либо переходим по ссылке и устанавливаем расширение.

Сервис полезный и функциональный. Но есть минус — он платный. После регистрации дают 10 центов на обработку промптов. Т. е., сервис дополнительно берет деньги за то, что обрабатывает входящую и исходящую информацию, затем деньги берет сам ChatGPT. Выданных 10 центов хватит на заполнение около 50–100 ячеек — все зависит от размера промптов и объема ответов нейронки.
Дальше придется платить от $29 в месяц (дополнительно оплачивать запросы на ChatGPT и создавать API-ключ не придется). Если будете использовать свои ключи, подписка обойдется в $5 в месяц.
Если платить не хотите, можете перейти к последнему разделу статьи.
Шаг 2. Регистрируемся на платформе OpenAI
Или авторизовываемся, если аккаунт уже есть. Затем идем в настройки и привязываем карту.
Важно! Карты РФ и Беларуси не подходят. Можно привязать только европейскую.
Чтобы привязать карту, на главной странице жмем на шестеренку в правом верхнем углу.

Затем переходим в «Billing» → «Payment methods» и вводим данные карты. Пополняем баланс.

Минимальная сумма — $5. Я рекомендую пополнять на $25-30, этого хватит на месяц нормально работы.
После того как прикрепили карту нажимаем «Dashboard» → «API keys» → «Create new secret key» → копируем.

Шаг 3. Привязываем API-ключи к расширению
Открываем гугл-таблицы → «Расширения» → «GPT for Sheets and Docs» → «Open».

В правой части экрана появится интерфейс расширения. Нажимаем на 3 вертикальных линии, затем на «API keys».

В API-ключах находим строку «OpenAI API key» и кликаем на «Change», добавляем скопированный ключ.

Теперь на самой верхней панели расширения нужно кликнуть на название модели. Откроется список, в котором нужно выбрать версию нейронки в разделе «Use your API key».

После этого можно вызывать нейросеть в таблице и общаться с ней. Для этого нужно прописать функцию =gpt, открыть скобку и прописать промпт в кавычках. При необходимости после промпта можно поставить точку с запятой и кликнуть на ячейку, из которой ChatGPT во время генерации должен подцепить информацию. В целом формула будет выглядеть так: =gpt(«Промпт»;номер ячейки).

Также в расширении есть и другие функции: создание саммари, генерация формул, поиск в интернете и др. Подробнее о них читайте в базе знаний сервиса, т. к. их много и перечислить все не получится. Там же вы найдете примеры, как они работают.
Шаг для тех, кто не хочет платить
Если не хотите платить за сторонний сервис, можете пойти более сложным, но бесплатным путем. Платить нужно будет только за расходы по API.
Для этого откройте гугл-таблицы → «Расширения» → «Apps Script» → на открывшейся странице добавьте скрипт вместо того, что там написан.

// Add ChatGPT Menu
const onOpen = () => {
const ui = SpreadsheetApp.getUi();
ui.createMenu("ChatGPT")
};
function saveAsText(){
// Saves formulas as plain text
var ss = SpreadsheetApp.getActiveSheet()
var data = ss.getDataRange().getValues()
ss.getRange(1,1,data.length,data[0].length).setValues(data)
}
function CHAT(val) {
// main function to generate the custom formula (=CHAT)
var ss = SpreadsheetApp.getActiveSheet()
// EITHER get API key from settings sheet
// var setsh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Settings");
// var apiKey = setsh.getRange(3,1).getValue() //Cell A3
// OR set API key
var apiKey = "СЮДА ВСТАВЬТЕ API-КЛЮЧ. ОБЯЗАТЕЛЬНО СОХРАНИТЕ КАВЫЧКИ В НАЧАЛЕ И В КОНЦЕ"
// configure the API request to OpenAI
var data = {
"messages": [
{"role": "system", "content": "СЮДА ВСТАВЬТЕ СВОЙ ПРОМПТ. ОБЯЗАТЕЛЬНО СОХРАНИТЕ КАВЫЧКИ В НАЧАЛЕ И В КОНЦЕ"},
{"role": "user", "content": "Here is your prompt" +val +"\n"}],
"model": "gpt-4o",
};
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : JSON.stringify(data),
'headers': {
Authorization: 'Bearer ' + apiKey,
},
};
var response = UrlFetchApp.fetch(
'https://api.openai.com/v1/chat/completions',
options
);
Logger.log(response.getContentText());
// Send the API request
var result = JSON.parse(response.getContentText())['choices'][0]['message']['content'];
Logger.log(result)
return result
}
После этого кликните на значок дискеты и на «Выполнить».

Разрешите запуск скрипта, авторизуйтесь через Google аккаунт.


Скрипт запустится. После этого можете возвращаться в созданную таблицу.
Чтобы вызвать нейронку, напишите в любой ячейке =chat. Я для примера добавил в скрипт промпт для создания метатегов, поэтому ответы получаю соответствующие:
Ты — опытный SEO специалист.
Твоя задача — создать метатеги (тайтл, дескрипшен, заголовок) для информационной статьи.
Вот ключи: [ключи, предоставленные пользователем]
Требования:
Тайтл — должен содержать «[название источника, предоставленное пользователем]»
Дескрипшен — должен быть короче 255 символов с пробелами и содержать «[название источника, предоставленное пользователем]»
Предложи по 3 варианта каждого метатега.
Не пиши ничего больше, кроме метатегов

Если хотите, чтобы она обработала информацию из другой ячейки, напишите =chat(номер ячейки). На примере того же промпта под капотом показываю, как это работает:

Работает все просто: ChatGPT анализирует промпт и понимает задачу. Затем читает информацию из ячейки и отвечает.
По такому принципу можно строить таблицы под любые задачи.
У этого способа есть свой минус — для разных промптов придется создавать разные таблицы, потому что добавить несколько скриптов в одну книгу или лист нельзя. Поэтому единственный выход — объединять информацию с разных таблиц в одной с помощью формулы =IMPORTRANGE.
Для этого сначала скопируйте ссылку на нужную таблицу или скопируйте ее ID, который находится между /d/ и /edit в URL.
Затем в нужной ячейке новой таблицы пропишите функцию IMPORTRANGE, в скобках и кавычках укажите URL или ID файла, а после точки с запятой укажите название листа нужной таблицы и диапазон, с которого нужно подтянуть данные.
Выглядеть это будет так:
=IMPORTRANGE(«1a2B3cD4e5F6g7H8i9J0kLmNoPqRstUvWxyz”; «Лист1!A1:D100»)
При первом использовании функции у вас могут попросить разрешить доступ к данным из другого файла. Нажмите на появившуюся ячейку с ошибкой и подтвердите доступ.

В итоге информация из одной таблицы автоматически перенесется в другую.
Чтобы разобраться подробнее в работе ChatGPT внутри таблиц, читайте подробный гайд-кейс: