Расчёт градусов, минут и секунд в Excel: формулы, примеры и лайфхаки

Введение: зачем Excel географические координаты?

Вы когда-нибудь пытались сложить два угла в формате градусы-минуты-секунды (например, 35°14'30" + 12°45'15") и получали бессмысленный результат? Или пытались перевести координаты из DMS (Degrees-Minutes-Seconds) в десятичные градусы для Google Maps, но Excel упорно выдавал ошибку #ЗНАЧ!? Эта проблема знакома геодезистам, инженерам, туристам и даже школьникам, решающим задачи по геометрии.

В Excel нет встроенной функции для прямой работы с градусами и минутами — программа воспринимает их как текст, а не как числовые значения. Но с помощью комбинации функций (ЛЕВСИМВ, ПСТР, НАЙТИ, арифметических операций) и небольших хитростей можно автоматизировать расчёты. В этой статье разберём:

  • 🔹 Как разделить градусы, минуты и секунды в ячейке на отдельные компоненты
  • 🔹 Формулы для перевода из формата DMS в десятичные градусы (и обратно)
  • 🔹 Как складывать и вычитать углы в формате °'""
  • 🔹 Типичные ошибки и способы их исправления
📊 С какой целью вы работаете с координатами в Excel?
Геодезия и картография
Инженерные расчёты
Туризм и навигация
Учёба (геометрия, астрономия)
Другое

1. Разбор строки: как выделить градусы, минуты и секунды

Предположим, у вас в ячейке A1 записан угол в формате 35°14'30". Чтобы извлечь из него градусы, минуты и секунды по отдельности, используйте следующие формулы:

КомпонентФормулаПример для 35°14'30"
Градусы=ЛЕВСИМВ(A1;НАЙТИ("°";A1)-1)35
Минуты=ПСТР(A1;НАЙТИ("°";A1)+1;НАЙТИ("'";A1)-НАЙТИ("°";A1)-1)14
Секунды=ПСТР(A1;НАЙТИ("'";A1)+1;НАЙТИ("""";A1)-НАЙТИ("'";A1)-1)30

⚠️ Внимание: Если в вашей локализации Excel используется запятая вместо точки в формулах, замените точку с запятой (;) на запятую (,). Например: =ЛЕВСИМВ(A1,НАЙТИ("°",A1)-1).

Для автоматизации процесса создайте вспомогательные столбцы:

  1. В ячейке B1 введите формулу для градусов.
  2. В C1 — для минут.
  3. В D1 — для секунд.

Теперь у вас есть разделённые компоненты, с которыми можно работать дальше.

Выделите столбец с исходными координатами|Создайте 3 дополнительных столбца для градусов, минут, секунд|Проверьте, что в формулах используется правильный разделитель (точка с запятой или запятая)|Преобразуйте текстовые значения в числа (если нужно) с помощью функции ЗНАЧЕН

-->

2. Перевод из DMS в десятичные градусы (для Google Maps, GPS)

Десятичные градусы — это формат, который понимают большинство навигационных систем (например, Google Maps или GPS-устройства). Чтобы перевести 35°14'30" в десятичный вид, используйте формулу:

=ЛЕВСИМВ(A1;НАЙТИ("°";A1)-1) + ПСТР(A1;НАЙТИ("°";A1)+1;НАЙТИ("'";A1)-НАЙТИ("°";A1)-1)/60 + ПСТР(A1;НАЙТИ("'";A1)+1;НАЙТИ("""";A1)-НАЙТИ("'";A1)-1)/3600

Разберём её по частям:

  • 🔹 ЛЕВСИМВ(...) — извлекает градусы и добавляет их "как есть".
  • 🔹 ПСТР(...) / 60 — переводит минуты в доли градуса (1 минута = 1/60 градуса).
  • 🔹 ПСТР(...) / 3600 — переводит секунды в доли градуса (1 секунда = 1/3600 градуса).

Критическая ошибка: если в исходной ячейке вместо символа градуса (°) используется буква "о" или пробел, формула вернёт #ЗНАЧ!. Всегда проверяйте символы!

3. Обратный перевод: из десятичных градусов в DMS

Допустим, у вас есть десятичное значение 35.241667 (это те же 35°14'30"), и вам нужно вернуть его в формат DMS. Для этого:

  1. Градусы: =ЦЕЛОЕ(A1) → извлекает целую часть (35).
  2. Минуты: =ЦЕЛОЕ((A1-ЦЕЛОЕ(A1))*60) → берёт дробную часть, умножает на 60 и округляет до минут (14).
  3. Секунды: =ОКРУГЛ((A1-ЦЕЛОЕ(A1))*3600;2) → умножает дробную часть на 3600 и округляет до секунд (30).

Чтобы объединить результаты в одну строку, используйте функцию СЦЕПИТЬ (или ТЕКСТСЦЕП в новых версиях Excel):

=СЦЕПИТЬ(ЦЕЛОЕ(A1);"°";ЦЕЛОЕ((A1-ЦЕЛОЕ(A1))*60);"'";ОКРУГЛ((A1-ЦЕЛОЕ(A1))*3600;2);"""")

⚠️ Внимание: Если секунды получаются равными 60 (например, 35.2535°15'60"), это ошибка округления. Используйте =ОКРУГЛВНИЗ вместо ОКРУГЛ для точности.

4. Сложение и вычитание углов в формате DMS

Прямо складывать 35°14'30" + 12°45'15" в Excel нельзя — программа не понимает такой формат. Решение:

  1. Переведите оба угла в десятичные градусы (как в разделе 2).
  2. Выполните сложение/вычитание.
  3. Переведите результат обратно в DMS (как в разделе 3).

Пример для ячеек A1 и B1:

=СЦЕПИТЬ(ЦЕЛОЕ(ПС(A1)+ПС(B1));"°";ЦЕЛОЕ((ПС(A1)+ПС(B1)-ЦЕЛОЕ(ПС(A1)+ПС(B1)))*60);"'";ОКРУГЛ((ПС(A1)+ПС(B1)-ЦЕЛОЕ(ПС(A1)+ПС(B1)))*3600;2);"""")

где ПС — это формула перевода из раздела 2 (для краткости можно вынести её в отдельный столбец).

Почему нельзя складывать минуты и секунды напрямую?

Потому что 60 секунд = 1 минута, а 60 минут = 1 градус. При сложении 30"" + 45"" = 75"" нужно перевести 75 секунд в 1 минуту и 15 секунд. Excel не делает этого автоматически, поэтому требуется перевод в десятичный формат.

5. Работа с отрицательными координатами (южная широта, западная долгота)

Если ваши координаты включают южную широту или западную долготу (например, -35°14'30"), формулы из предыдущих разделов работать не будут. Решение:

  • 🔹 Используйте функцию АБС, чтобы временно убрать знак:
  • =ЕСЛИ(A1<0;"-";"") & СЦЕПИТЬ(ЦЕЛОЕ(АБС(A1));"°";...) 
  • 🔹 Или разделите обработку знака и значения:
    =ЕСЛИ(A1<0;"-";"") & [формула_из_раздела_3]

Пример для ячейки A1 = -35.241667:

=ЕСЛИ(A1<0;"-";"") & СЦЕПИТЬ(ЦЕЛОЕ(АБС(A1));"°";ЦЕЛОЕ((АБС(A1)-ЦЕЛОЕ(АБС(A1)))*60);"'";ОКРУГЛ((АБС(A1)-ЦЕЛОЕ(АБС(A1)))*3600;2);"""")

6. Типичные ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с проблемами при работе с координатами. Вот самые распространённые:

ОшибкаПричинаРешение
#ЗНАЧ!Неверный символ градуса (например, буква "о" вместо °)Замените символ на правильный (°) или используйте ПОДСТАВИТЬ
Неправильный результатФормула не учитывает отрицательные значенияДобавьте проверку с АБС и ЕСЛИ
Секунды = 60Ошибка округления при переводеИспользуйте ОКРУГЛВНИЗ вместо ОКРУГЛ
Текст вместо числаЯчейка отформатирована как текстПримените функцию ЗНАЧЕН или измените формат ячейки

⚠️ Внимание: Если вы импортируете координаты из GPS-устройства или Google Earth, проверьте, какой разделитель используется для градусов/минут/секунд. Иногда вместо °'"" может быть пробел или запятая. В этом случае замените НАЙТИ("°";A1) на ПОИСК(" ";A1) (для пробела).

FAQ: Ответы на частые вопросы

Можно ли в Excel автоматически определить, что координаты относятся к широте или долготе?

Нет, Excel не различает широту и долготу — это просто числа. Вам нужно вручную добавлять метки (например, столбцы "Широта" и "Долгота") или использовать условное форматирование для выделения отрицательных значений (южная широта/западная долгота).

Как обработать координаты в формате 35.1430 (градусы.минуты)?

Это смешанный формат, где целая часть — градусы, а дробная — минуты. Используйте формулу:

=ЦЕЛОЕ(A1) + (A1-ЦЕЛОЕ(A1))/60

Для обратного перевода:

=ЦЕЛОЕ(A1) + (A1-ЦЕЛОЕ(A1))*60/100
Почему при копировании координат из Google Maps в Excel появляются кавычки?

Google Maps экспортирует координаты в формате "35.241667" (с кавычками). Чтобы их убрать, используйте =ЗНАЧЕН(ПОДСТАВИТЬ(A1;"""";"")).

Можно ли использовать Power Query для обработки координат?

Да! В Power Query (вкладка Данные → Получить данные) можно:

  1. Разделить столбец с координатами по символу °.
  2. Преобразовать текст в числа.
  3. Добавить пользовательский столбец с формулой перевода.

Это удобно для больших наборов данных (тысячи строк).

Как экспортировать координаты из Excel в KML-файл для Google Earth?

Создайте CSV-файл с колонками Longitude,Latitude (в десятичных градусах), затем конвертируйте его в KML через онлайн-сервисы (например, GPS Visualizer).