Как геокодировать адреса в Google Sheets: 4 метода, которые работают

Как геокодировать адреса в Google Sheets: CSV, формула =GEOCODE(), пакетный Apps Script и обратное геокодирование. 100 строк бесплатно в день.

| April 16, 2026
Как геокодировать адреса в Google Sheets: 4 метода, которые работают

Если у вас есть Google Sheets с адресами и вам нужны координаты широты/долготы, вы попали по адресу. Будь то картирование клиентов, планирование маршрутов доставки или создание локатора магазинов, геокодирование в Google Sheets — одна из самых распространённых задач работы с данными, которой никто не учит делать правильно.

Проблема? В Google Sheets нет встроенной функции геокодирования. Нет формулы =GEOCODE(), которая ждёт вас. Но есть четыре практических метода, от полностью без кода до автоматизированной пакетной обработки.

В этом руководстве я покажу каждый подход к геокодированию адресов в Google Sheets — от простого копирования-вставки до пользовательских функций Apps Script. Все примеры кода реальные и готовы к использованию с платформой CSV2GEO.

Начнём.

Кому нужно геокодировать адреса в Google Sheets?

Прежде чем перейти к методам, вот кому это обычно необходимо:

📍

Маркетинговые команды

Картирование местоположений клиентов для таргетированных региональных кампаний.

🚚

Службы доставки

Преобразование адресов доставки в координаты для планирования маршрутов.

🏢

Агентства недвижимости

Геокодирование объявлений для интерактивных карт поиска недвижимости.

📊

Исследователи

Анализ географических данных из опросов или публичных реестров.

🛒

Электронная коммерция

Создание локаторов магазинов и расчёт зон доставки.

🏥

Здравоохранение

Картирование пациентов для анализа доступности и планирования учреждений.

Что общего? У вас есть адреса в таблице. Вам нужны координаты. И вы не хотите платить Google 5$ за 1 000 запросов.

Метод 1: Без кода — Экспорт CSV, загрузка на CSV2GEO, вставка

Идеально для: Всех, кто хочет получить координаты без написания единой строки кода.

Это самый простой подход к геокодированию таблицы. Без API-ключа, без скриптов, без технической настройки.

Шаг 1: Экспортируйте Google Sheets в CSV

Откройте ваш Google Sheets с адресами. Перейдите в Файл > Скачать > Значения, разделённые запятыми (.csv).

Убедитесь, что ваши адресные данные чистые. Вам нужны столбцы вроде улица, город, регион, почтовый индекс и страна — или как минимум один столбец с полным адресом.

Шаг 2: Загрузите на CSV2GEO

Перейдите на CSV2GEO и перетащите ваш CSV-файл в зону загрузки. Платформа автоматически определит ваши столбцы:

  • Улица — ваш столбец с адресом
  • Город — город или населённый пункт
  • Регион — область или край
  • Почтовый индекс
  • Страна — название страны или код ISO

Нажмите Обработать, и CSV2GEO геокодирует каждую строку с помощью базы из 461M+ адресов в 200+ странах.

Шаг 3: Скачайте результаты

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

Шаг 4: Вставьте в Google Sheets

Откройте скачанный CSV в Google Sheets (Файл > Импорт) или просто скопируйте столбцы широты и долготы в вашу исходную таблицу.

Вот и всё. Без кода, без API-ключа, без настройки. Бесплатное геокодирование даёт 100 строк в день бесплатно.

Метод 2: Пользовательская функция Apps Script — =GEOCODE(A2)

Идеально для: Пользователей, которым нужен формульный подход прямо в таблице.

Этот метод использует Google Apps Script и API геокодирования CSV2GEO для создания пользовательской функции =GEOCODE().

Шаг 1: Получите API-ключ

Перейдите на CSV2GEO API Keys и сгенерируйте бесплатный ключ. Бесплатный тариф включает 1 000 API-запросов в день.

Шаг 2: Откройте редактор Apps Script

В вашем Google Sheets перейдите в Расширения > Apps Script.

Шаг 3: Добавьте функцию геокодирования

Удалите существующий код и вставьте следующее:

/**
 * Геокодирует адрес и возвращает lat, lng
 * @param {string} address Адрес для геокодирования
 * @param {string} country Код страны ISO (необязательно, напр.: "RU")
 * @return {string} "latitude, longitude"
 * @customfunction
 */
function GEOCODE(address, country) {
  if (!address) return "";
  const API_KEY = "ВАШ_API_КЛЮЧ";
  const url = "https://api.csv2geo.com/v1/geocode"
    + "?q=" + encodeURIComponent(address)
    + (country ? "&country=" + country : "")
    + "&api_key=" + API_KEY;

  const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
  const data = JSON.parse(response.getContentText());

  if (data.results && data.results.length > 0) {
    const loc = data.results[0].location;
    return loc.lat + ", " + loc.lng;
  }
  return "Не найдено";
}

Шаг 4: Используйте в таблице

Сохраните скрипт (Ctrl+S), затем вернитесь в таблицу:

=GEOCODE("15 Rue de la Paix, Paris", "FR")

Результат: 48.8684, 2.3309

Также можно ссылаться на ячейки:

=GEOCODE(A2, B2)

Где столбец A содержит адрес, а B — код страны.

Важное замечание: Пользовательские функции выполняются по одной. Для 500 строк каждая делает отдельный API-запрос. Для больших объёмов используйте Метод 3.

Метод 3: Пакетное геокодирование с меню Apps Script

Идеально для: Обработки сотен или тысяч адресов эффективно.

Этот метод добавляет меню «Геокодирование» в вашу таблицу для геокодирования целого столбца в один клик.

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

Откройте Расширения > Apps Script и вставьте:

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('Геокодирование')
    .addItem('Геокодировать все адреса', 'geocodeAll')
    .addItem('Обратное геокодирование (выделение)', 'reverseGeocodeSelected')
    .addToUi();
}

function geocodeAll() {
  const API_KEY = "ВАШ_API_КЛЮЧ";
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();

  for (let row = 2; row <= lastRow; row++) {
    if (sheet.getRange(row, 6).getValue()) continue;
    const address = sheet.getRange(row, 1).getValue();
    const country = sheet.getRange(row, 5).getValue();
    if (!address) continue;

    const url = "https://api.csv2geo.com/v1/geocode"
      + "?q=" + encodeURIComponent(address)
      + (country ? "&country=" + country : "")
      + "&api_key=" + API_KEY;

    try {
      const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
      const data = JSON.parse(response.getContentText());
      if (data.results && data.results.length > 0) {
        const r = data.results[0];
        sheet.getRange(row, 6).setValue(r.location.lat);
        sheet.getRange(row, 7).setValue(r.location.lng);
        sheet.getRange(row, 8).setValue(r.accuracy_score);
      }
    } catch (e) {
      sheet.getRange(row, 6).setValue("Ошибка: " + e.message);
    }
    Utilities.sleep(200);
    if (row % 50 === 0) {
      SpreadsheetApp.getActiveSpreadsheet().toast(
        "Обработано " + row + " из " + lastRow, "Геокодирование", 3);
    }
  }
  SpreadsheetApp.getActiveSpreadsheet().toast("Готово!", "Геокодирование");
}

Шаг 2: Организуйте таблицу

A (Адрес)B (Город)C (Регион)D (Индекс)E (Страна)F (Широта)G (Долгота)H (Точность)
15 Rue de la PaixParisÎle-de-France75002FRавтоавтоавто

Шаг 3: Запустите геокодер

Перезагрузите таблицу. Появится меню «Геокодирование». Нажмите Геокодирование > Геокодировать все адреса.

Скрипт обрабатывает строки с задержкой 200мс. Для 500 адресов потребуется около 2 минут.

Совет: Для более чем 1 000 адресов распределите на несколько дней или экспортируйте в CSV и используйте пакетное геокодирование.

Метод 4: Обратное геокодирование в Google Sheets

Идеально для: Когда у вас уже есть широта и долгота, а нужны адреса.

Это обратный процесс прямого геокодирования. У вас есть GPS-координаты, а нужен соответствующий адрес. Это обратное геокодирование.

Функция обратного геокодирования

function REVERSE_GEOCODE(lat, lng) {
  if (!lat || !lng) return "";
  const API_KEY = "ВАШ_API_КЛЮЧ";
  const url = "https://api.csv2geo.com/v1/reverse"
    + "?lat=" + lat + "&lng=" + lng + "&api_key=" + API_KEY;
  const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
  const data = JSON.parse(response.getContentText());
  if (data.results && data.results.length > 0) return data.results[0].formatted_address;
  return "Не найдено";
}

Использование:

=REVERSE_GEOCODE(48.8684, 2.3309)

Результат: 15 Rue de la Paix, 75002 Paris, France

Понимание ответа API

Когда вы вызываете API CSV2GEO, вот что возвращается:

{
  "results": [{
    "formatted_address": "15 Rue de la Paix, 75002 Paris, FR",
    "location": { "lat": 48.8684, "lng": 2.3309 },
    "accuracy": "rooftop",
    "accuracy_score": 0.98,
    "components": {
      "house_number": "15",
      "street": "Rue de la Paix",
      "city": "Paris",
      "state": "Île-de-France",
      "postcode": "75002",
      "country": "FR"
    }
  }]
}

Поле accuracy_score — ключевое. 0.95+ = точность до здания. 0.7-0.95 = уровень улицы. Ниже 0.7 = точность только до города или почтового индекса.

Сравнение: Какой метод выбрать?

МетодСложностьСкоростьИдеально дляБесплатный тариф
1. CSV + CSV2GEOНулевая⭐⭐⭐⭐⭐Разовые задачи100 строк/день
2. =GEOCODE()Базовая⭐⭐10-50 строк1 000 запр./день
3. Пакетное менюБазовая⭐⭐⭐⭐100-5 000 строк1 000 запр./день
4. Обратное геокод.Базовая⭐⭐⭐Координаты → Адреса1 000 запр./день

Моя рекомендация: Метод 1 для разовой задачи. Метод 3 для регулярного использования. Для более чем 10 000 строк используйте напрямую пакетное геокодирование.

Советы и лучшие практики

1. Очистите адреса

Мусор на входе — мусор на выходе. Перед геокодированием:

  • Удалите лишние пробелы: =СЖПРОБЕЛЫ(A2)
  • Стандартизируйте сокращения: «Улица» vs «Ул.», «Проспект» vs «Пр-т»
  • Включайте коды стран: RU, UA, KZ, BY для лучших результатов
  • Объедините части: =A2 & ", " & B2 & ", " & C2 & " " & D2

2. Всегда указывайте страну

Лучшее улучшение точности — указать страну. «15 Rue de la Paix» существует в нескольких городах мира. Добавление «FR» мгновенно устраняет неоднозначность.

3. Пакетная обработка для больших объёмов

=GEOCODE() подходит для 10-50 строк. Для больших объёмов используйте пакетное меню (Метод 3) или экспортируйте в CSV на CSV2GEO для пакетного геокодирования. Загрузка файла в 10 раз быстрее для больших объёмов.

4. Кэшируйте результаты

Геокодировать один и тот же адрес дважды — расточительство. Проверяйте, существуют ли уже координаты:

if (sheet.getRange(row, 6).getValue()) continue;

5. Обрабатывайте ошибки

Некоторые адреса не будут геокодированы — опечатки, неполные данные. Скрипты возвращают «Не найдено» или «Ошибка», чтобы вы могли их выявить.

6. Следите за потреблением API

Бесплатный тариф даёт 1 000 запросов в день. Для 5 000 строк распределите на 5 дней или перейдите на платный тариф.

7. API для автоматизации

Для регулярного геокодирования создайте автоматизированный рабочий процесс с полным API геокодирования. CSV2GEO предлагает 19 эндпоинтов, охватывающих прямое, обратное, пакетное геокодирование, поиск мест и административные границы.

Часто задаваемые вопросы

Геокодирование в Google Sheets бесплатно?

Да. CSV без кода даёт 100 бесплатных строк в день. Методы с API дают 1 000 запросов в день.

Сколько адресов можно геокодировать?

1 000 в день бесплатно. Для 50 000+, экспортируйте в CSV и используйте пакетное геокодирование.

Нужен ли API-ключ?

Только для Методов 2, 3 и 4. Метод 1 не требует ничего — просто загрузите на CSV2GEO.

Поддерживаются международные адреса?

Да. CSV2GEO охватывает 200+ стран с 461M+ адресами. Указывайте код ISO (RU, DE, JP). Смотрите наши руководства для Австралии или Бразилии.

Какая точность?

Для хорошо отформатированных адресов — точность до здания для 90%+ результатов. Поле accuracy_score (от 0 до 1) указывает уровень уверенности. Подробнее в нашем руководстве преобразование адреса в широту/долготу.

Возможно обратное геокодирование?

Да. Метод 4 выше. Также доступно через инструмент обратного геокодирования без кода.

Данные обновляются автоматически?

Нет. Координаты — это статические значения. Если вы изменили адрес, запустите функцию или скрипт заново.

В чём разница Google Sheets и Excel?

Google Sheets использует Apps Script (JavaScript), Excel использует VBA. Та же базовая логика. Google Sheets работает в облаке. Excel лучше для очень больших файлов (1M+ строк). Специальное руководство: геокодирование в Excel.

Начните геокодирование

Загрузите свои адреса в бесплатный инструмент пакетного геокодирования или используйте скрипты выше в Google Sheets. 100 строк бесплатно в день, без регистрации.

I.A. / CSV2GEO Creator

Похожие статьи

More in Guides →
Ready to geocode your addresses?

Use our batch geocoding tool to convert thousands of addresses to coordinates in minutes. Start with 100 free addresses.

Try Batch Geocoding Free →