Skip links

GPT в Google Таблицах без подписок: как подключить ChatGPT бесплатно

Если вы используете Google Таблицы в работе, то наверняка слышали о платных расширениях для интеграции с ChatGPT. Они удобны, но стоят $20+ в месяц.
Но есть лайфхак: можно подключить GPT к Google Sheets вообще без подписок – платить только за API-запросы.
Это дешевле, гибче и не требует сторонних плагинов.
Как это сделать? Разбираемся пошагово.
Что даёт интеграция ChatGPT с Google Таблицами?

🔹 Автоматизация рутинных задач: генерация текстов, перевод, обработка данных.
🔹 Анализ информации: резюме документов, парсинг отзывов, работа с SEO.
🔹 Обработка больших объёмов данных: извлечение ключевых смыслов, классификация, очистка текстов.
🔹 Экономия денег: вместо подписки – оплата только за фактические запросы к GPT.

И главное – это делается за 5 минут без сложных настроек.

Шаг 1. Открываем Apps Script
Google Таблицы позволяют писать свои функции через встроенный Apps Script. Это и есть наша точка входа.
Открываем Google Таблицы (создаём новый документ или используем существующий).
В верхней панели нажимаем «Расширения» → «Apps Script».
Удаляем весь код, который там есть, и вставляем код ниже.

Шаг 2. Вставляем код для подключения ChatGPT

JavaScript

const SECRET_KEY = "Ваш API key";
function chatGPT(
    prompt,
    max_tokens = 2048,
    temperature = 0.7,
    model = "gpt-4o-mini"
) {
  const url = "https://api.openai.com/v1/chat/completions";
  const payload = {
    model: model,
    messages: [{ role: "user", content: prompt }],
    temperature: temperature,
    max_tokens: max_tokens,
  };

  const options = {
    method: "POST",
    contentType: "application/json",
    headers: { Authorization: "Bearer " + SECRET_KEY },
    payload: JSON.stringify(payload),
  };

  try {
    const response = UrlFetchApp.fetch(url, options);
    const json = response.getContentText();
    const data = JSON.parse(json);
    return data.choices[0].message.content.trim();
  } catch (error) {
    console.error("Ошибка при вызове API OpenAI:", error);
    throw error;
  }
}

📌 Важно:
Замените “Ваш API key” на свой ключ из OpenAI. Получить его можно здесь.
(Включи VPN, чтобы зайти на сайт)

Шаг 3. Сохраняем и тестируем

Нажимаем «Сохранить» (иконка дискеты).
Закрываем Apps Script и возвращаемся в Google Таблицы. Теперь VPN не нужен.
Теперь можно использовать функцию =chatGPT(“Ваш запрос”) прямо в ячейках!
Как теперь использовать GPT в Google Таблицах?
Теперь в любой ячейке можно написать, например:

=chatGPT(“Составь контент-план на 3 месяца”)

⚡ Всё! GPT будет отвечать прямо в Гугл таблице без vpn и без оплат за плагины.

_______________________________________________

Чтобы данные обновлялись только при нажатии кнопки или команде, а не автоматически

1. Отключение автоматического пересчета

Уберите использование функции chatGPT() в формулах ячеек. Вместо этого используйте ручной вызов через кнопку.

2. Добавление кнопки для запуска

javascript
function updateData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const inputCell = sheet.getRange("A1"); // Ячейка с запросом
const outputCell = sheet.getRange("B1"); // Ячейка для ответа GPT

const prompt = inputCell.getValue();
const result = chatGPT(prompt);

outputCell.setValue(result);
}

3. Создание кнопки в интерфейсе

  1. В редакторе скриптов: Публикация > Развернуть как веб-приложение (не требуется для этого метода).

  2. В Google Таблицах:

    • Перейдите в меню Вставка > Рисунок и создайте кнопку.

    • Нажмите на кнопку ➔ три точки ➔ Назначить скрипт ➔ введите updateData.

4. Альтернатива: пользовательское меню

Добавьте в скрипт:

javascript
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("GPT Tools")
.addItem("Обновить данные", "updateData")
.addToUi();
}

5. Фикс для вашего текущего кода

Добавьте проверку триггера:

javascript
function chatGPT(...) {
// Добавьте эту проверку
if (typeof ScriptApp.getProjectTriggers().find(t => t.getHandlerFunction() === "chatGPT")) {
console.error("Функция вызвана автоматически! Обновление отменено.");
return "#ERROR: Используйте кнопку!";
}
// Остальной код...
}

Итоговый рабочий пример

javascript
const SECRET_KEY = "ВАШ_API_КЛЮЧ";

function updateData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1");
const input = sheet.getRange("A2").getValue();
const response = chatGPT(input);
sheet.getRange("B2").setValue(response);
}

function chatGPT(prompt) {
// ...ваш текущий код без изменений...
}

// Автоматически создаст меню при открытии таблицы
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('GPT Control')
.addItem('Запустить обновление', 'updateData')
.addToUi();
}

Важные нюансы:

  1. Права доступа: При первом запуске потребуется авторизация через OAuth.

  2. Лимиты API: Не делайте частые запросы (максимум 3 вызова в минуту для бесплатного аккаунта).

  3. Безопасность: Никогда не публикуйте таблицу с API-ключом в открытом доступе.

Теперь данные будут обновляться только при:

  • Нажатии кнопки в таблице

  • Выборе пункта меню “Запустить обновление”

  • Ручном запуске функции через редактор скриптов

Автоматические триггеры (при открытии/изменении) больше не будут вызывать запросы к GPT.

Leave a comment