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

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

| April 16, 2026

Если у вас есть 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

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

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 →