Геодезия, картография, кадастр
March 14, 2025

Excel-калькулятор углов: как преобразовать градусы, минуты и секунды в десятичные значения и обратно

Хочу рассмотреть задачу перевода углов формата (d°m′s″) в десятичные значение и обратно из десятичного значения в формат градусы° минуты′ секунды″ и математические операции над ними при помощи microsoft excel.

Пусть имеется угол 46°12′44″, необходимо найти синус этого угла или сложить его с углом 23°34′23″. Можно разбить каждый из углов на 3 части - 3 ячейки и , преобразовать их к формату десятичных чисел, помня о том, что в 1 градусе 60 минут, а в 1 минуте 60 секунд. Можно воспользоваться онлайн калькулятором, а можно и написать калькулятор самому, распишу ниже несколько способов:

Простой способ

Рисунок 1 - исходные данные

Формула перевода будет простой и выглядеть следующим образом: =N9+O9/60+P9/3600 (46+12/60+44/3600) = 46,21(2)

Рисунок 2 - перевод угла с разбиением на ячейки

Но можно осуществить переход без разбиения значения угла на 3 ячейки, красиво, но чуть сложнее.

Интересный способ

Способ позволяет получить десятичное значение угла, в соседней ячейке без дополнительных разбиений угла, сразу приведу формулу и ниже объясню как она работает:

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

Рисунок 3 - лаконичные преобразования

Рисунок 4 - разбиение формулы

Извлечение градусов

Пойду по порядку, сначала разберу часть формулы, извлекающую значение градусов

=ЛЕВСИМВ(M9;НАЙТИ("°";M9)-1)

ЛЕВСИМВ(текст; количество извлекаемых символов) - эта функция позволяет извлекать необходимое количество символов из строки, начиная слева. Как видно из примера, функция обрабатывает ячейку

Первый аргумент: это текст - ячейка М9;

Второй аргумент: это количество извлекаемых символов, для нахождения воспользовался функцией НАЙТИ("°";M9). Эта функция находит позицию искомого символа, после выполнения будет выведено число 3, так как знак градусов находится на третьей позиции, чтобы вывести только числовые значения нужно от 3 отнять 1 НАЙТИ("°";M9)-1), таким образом получим количество чисел до знака градусов. Если в ЛЕВСИМВ не добавлять второй аргумент - количество извлекаемых символов, то выведется первое слева значение ЛЕВСИМВ(M9) = 3. (рисунок 3)

Результат:

=ЛЕВСИМВ(M9;2)

Извлечение минут и перевод в градусы

ПСТР(M9;НАЙТИ("°";M9)+1;НАЙТИ("'";M9)-НАЙТИ("°";M9)-1)/60

Функция найти разобрана выше, из нового - это функция ПСТР. ПСТР возвращает заданное число знаков из строки, начиная с указанной позиции. ПСТР(текст; начальная позиция; количество возвращаемых символов).

Первый аргумент: М9 - это ячейка(текст) в которой ведется поиск;

Второй аргумент: начальная позиция - НАЙТИ("°";M9)+1, то есть начальной позицией является позиция после знака «°»,единица прибавляется, так как НАЙТИ("°";M9) = позиция знака градусов «°», а необходимо найти следующую за ней;

Третий аргумент: количество возвращаемых символов

НАЙТИ("'";M9)-НАЙТИ("°";M9)-1

Находим позицию знака минут «'» в примере это 6,

Находим позицию знака «°» это 3

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

Результат: 6-3-1 =2, два символа между «°» и «'» будут найдены и использованы в расчетах.

Финальный результат работы формулы:

ПСТР(M9;4;2) выведется 2 символа ячейки M9, начиная с четвертого, далее поделится на 60, так как в 1 градусе 60 минут.

Извлечение секунд и перевод в градусы

ПСТР(M9;НАЙТИ("'";M9)+1;НАЙТИ("""";M9)-НАЙТИ("'";M9)-1)/3600

Формула аналогична формуле для извлечения минут.

Первый аргумент: М9 - это ячейка(текст) в которой ведется поиск;

Второй аргумент: начальная позиция - НАЙТИ("'";M9)+1, то есть начальной позицией является позиция после знака «'»,единица прибавляется, так как НАЙТИ("'";M9) = позиция знака секунд «'», а необходимо найти следующую за ней;

Третий аргумент: количество возвращаемых символов

НАЙТИ("""";M9)-НАЙТИ("'";M9)-1

Находим позицию знака секунд «"» в примере это 9. ВАЖНО! В Excel кавычки (") используются для обозначения текстовых строк. Если нужно указать сам символ кавычки внутри строки, то он должен быть "экранирован" — удвоен.

Находим позицию знака «'» это 6

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

Результат: 9-6-1 =2, два символа между «'» и «"» будут найдены и использованы в расчетах.

Финальный результат работы формулы:

ПСТР(M9;6;2) выведется 2 символа ячейки M9, начиная с шестого, далее поделится на 3600, так как в 1 градусе 60 минут, а в 1 минуте 60 секунд.

После останется все сложить и получим десятичные значения градусов, с которыми можно дальше удобно взаимодействовать.

Рисунок 5 - преобразованные значения и вычисления с ними

Обратные преобразования из десятичного значения угла в формат (г°м′с″)

Для этого потребуется одна функция, из которой будет составлена формула, это функция - ЦЕЛОЕ, готовая формула:

Рисунок 6 - обратные преобразования

=ЦЕЛОЕ(M14)&"°"&ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60)&"'"&((((M14-ЦЕЛОЕ(M14))*60)-ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60))*60)&""""

=ЦЕЛОЕ(угол) & "°" & ЦЕЛОЕ((угол - ЦЕЛОЕ(угол)) * 60) & "'" & ОКРУГЛ(((угол - ЦЕЛОЕ(угол)) * 60 - ЦЕЛОЕ((угол - ЦЕЛОЕ(угол)) * 60)) * 60; 2) & """"

Формула облегченная для восприятия

ЦЕЛОЕ Округляет число до ближайшего меньшего целого.

Первая часть формулы: ЦЕЛОЕ(M14)&"°"& выделяет целое число градусов из десятичного обозначения угла, &"°"& прибавляет к числу знак градусов и следующее число. ЦЕЛОЕ(30,3125)&"°"& = 30° ;

Вторая часть формулы: ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60)&"'"& из значения ячейки M14 вычитаю целое значение этой ячейки, разность умножаю на 60, чтобы найти количество минут, далее выделяю целое количество минут = ЦЕЛОЕ((30,3125 - 30) * 60)&"'"& = ЦЕЛОЕ(0,3125*60)&"'"& = 18' ;

Третья часть формулы: ((((M14-ЦЕЛОЕ(M14))*60)-ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60))*60)&"""" получается матрешка - целое в целом в целом ;) Из значения ячейки M14 вычитаю целое значение этой ячейки (нахожу значение градусов после запятой), разность умножаю на 60(получаю значение уже в минутах), потом проделываю эту операцию еще раз (Из значения ячейки M14 вычитаю целое значение этой ячейки, разность умножаю на 60) нахожу целое количество минут, далее разность минуты- минус целые минуты = дробное значение секунд, умножаю дробное значение секунд на 60 и получаю целое значение: ((((30,3125 - 30)) * 60) - ЦЕЛОЕ((30,3125-30)*60))*60)&"""" = 45".

В статье я использовал обычные кавычки как обозначение минут ' секунд " , но обычно используются спецсимволы минуты ′ секунды ″.

В формуле =ЛЕВСИМВ(M9;НАЙТИ("°";M9)-1)+ПСТР(M9;НАЙТИ("°";M9)+1;НАЙТИ("'";M9)-НАЙТИ("°";M9)-1)/60+ПСТР(M9;НАЙТИ("'";M9)+1;НАЙТИ("""";M9)-НАЙТИ("'";M9)-1)/3600 при использовании спецсимвола секунд ″ не нужно его удваивать:

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

НАЙТИ("″";M9)-НАЙТИ("'";M9)-1)/3600

И если появляется ошибка #ЗНАЧ! необходимо проверить совпадение спецсимволов в угле и формуле преобразования, приведение их к одному формату исправляет ошибку и делает вас счастливее!

(' " - кавычки )

(′ ″ - спецсимволы)

Резюмирую: в данной статье я рассмотрел способы преобразования углов различными способами, показал как комбинируя функции ms excel можно получить удобный и лаконичный калькулятор пересчета углов, надеюсь было полезно!

  • Для вышеприведенных преобразований необходимы следующие функции (ЛЕВСИМВ, НАЙТИ, ПСТР, ЦЕЛОЕ)
  • Для перевода углов формата (d°m′s″) в десятичные значение используется формула: =ЛЕВСИМВ(M9;НАЙТИ("°";M9)-1)+ПСТР(M9;НАЙТИ("°";M9)+1;НАЙТИ("'";M9)-НАЙТИ("°";M9)-1)/60+ПСТР(M9;НАЙТИ("'";M9)+1;НАЙТИ("""";M9)-НАЙТИ("'";M9)-1)/3600
  • Для обратного преобразования из десятичного значения угла в формат (г°м′с″) используется формула: =ЦЕЛОЕ(M14)&"°"&ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60)&"'"&((((M14-ЦЕЛОЕ(M14))*60)-ЦЕЛОЕ((M14-ЦЕЛОЕ(M14))*60))*60)&""""

Источники:

ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ) - Служба поддержки Майкрософт

Функция НАЙТИ - Служба поддержки Майкрософт

Функция ПСТР - Служба поддержки Майкрософт

Функция ЦЕЛОЕ - Служба поддержки Майкрософт