Но есть лайфхак: можно подключить 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. Добавление кнопки для запуска
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. Создание кнопки в интерфейсе
-
В редакторе скриптов: Публикация > Развернуть как веб-приложение (не требуется для этого метода).
-
В Google Таблицах:
-
Перейдите в меню Вставка > Рисунок и создайте кнопку.
-
Нажмите на кнопку ➔ три точки ➔ Назначить скрипт ➔ введите
updateData
.
-
4. Альтернатива: пользовательское меню
Добавьте в скрипт:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("GPT Tools")
.addItem("Обновить данные", "updateData")
.addToUi();
}
5. Фикс для вашего текущего кода
Добавьте проверку триггера:
function chatGPT(...) {
// Добавьте эту проверку
if (typeof ScriptApp.getProjectTriggers().find(t => t.getHandlerFunction() === "chatGPT")) {
console.error("Функция вызвана автоматически! Обновление отменено.");
return "#ERROR: Используйте кнопку!";
}
// Остальной код...
}
Итоговый рабочий пример
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();
}
Важные нюансы:
-
Права доступа: При первом запуске потребуется авторизация через OAuth.
-
Лимиты API: Не делайте частые запросы (максимум 3 вызова в минуту для бесплатного аккаунта).
-
Безопасность: Никогда не публикуйте таблицу с API-ключом в открытом доступе.
Теперь данные будут обновляться только при:
-
Нажатии кнопки в таблице
-
Выборе пункта меню “Запустить обновление”
-
Ручном запуске функции через редактор скриптов
Автоматические триггеры (при открытии/изменении) больше не будут вызывать запросы к GPT.