Найти в Дзене
Геодезист-НН.рф

Координаты из вида ХХ° ХХ' ХХ" в вид ХХ.ХХХХ

Добрый день Читатели!
Ранее я опубликовал
способ перевода географических координат из десятичного вида (ХХ.ХХХХ) в вид ХХ° ХХ' ХХ".

Теперь публикую способ обратного преобразования средствами Excel:

Имеем исходные данные в виде:
56° 40' 5,333" С.Ш. и 043° 0' 0,99" В.Д.

Исходные данные
Исходные данные

1. Очевидно, число градусов в десятичном виде и в виде ХХ° ХХ' ХХ" будет равно. И казалось бы используй функцию ЛЕВСИМВ() для выдергивания двух символов слева из исходной ячейки, НО! Градусы могут быть написаны и так 56°, и так 056° (особенно, если речь идет о долготе), что осложняет задачу.
Поэтому целесообразнее использовать совокупность функций ПСТР() и ПОИСК() следующим образом:
Найдем позицию вхождения символа ° в исходных данных:
ПОИСК("°";B2)
Затем используя функцию ПСТР() вырежем из исходных данных фрагмент начиная с 1 позиции до позиции (символ ° - 1):
ЗНАЧЕН(ПСТР(B2;1;ПОИСК("°";B2)-1))

Градусы
Градусы

Внимательный читатель заметит еще одну использованную функцию - ЗНАЧЕН(). Она нужна для перевода получившегося текстового фрагмента типа "043" в числовое значение "43" (Если в ваших данных записи градусов всегда двузначные, можно не использовать эту функцию).
В итоге целое число градусов получено!

2. Минуты будем искать похожим способом:
Определяю позиции вхождения двух символов " и °. Затем вырезаю из исходного тектса фрагмент начиная с позиции (символ ° + 1) длиной (символ " - символ ° +1):
=ПСТР(B2;(ПОИСК("°";B2))+1;(ПОИСК("'";B2))-(ПОИСК("°";B2))-1)

Формула для минут
Формула для минут

3. С секундами ситуация аналогичная, только необходимо оперировать позициями вхождения символов " и ' :
=ПСТР(B2;(ПОИСК("'";B2))+1;ПОИСК("""";B2)-ПОИСК("'";B2)-1)

Формула для секунд
Формула для секунд

4. И финал этих грандиозных вычислений:
Перевод в десятичный вид B4+B5/60+B6/3600

Перевод в десятичный вид
Перевод в десятичный вид

PS: Безусловно есть готовые программы конвертации координат, но иногда сделать это требуется именно в экселе.