Уважаемые форумчане! Приношу свои извинения, что своими формулами внес неразбериху в предыдущий пост “stout” от 06 Июля, 2010 - 13:02:07 Поспешив, я привел формулы перевода D.mmmm.(Градусы_точка десятичная_минуты и доли минут) в D.dddddd (Градусы_точка десятичная_ доли градуса), а у Александра Юрьевича формат с секундами и долями секунд, как он уже объяснил. Но осмелюсь продолжить в этой ветке: для тех, кто любит (или вынужден) работать в Excel, запись в одной ячейке угловой величины формата D.mmssss удобнее переводить сразу в радианы, так как все тригонометрические функции Excel, в качестве параметра принимают (и возвращают) угловые величины в радианах. Можно конечно использовать встроенные функции «Радианы», «Градусы», но лучше использовать написанные для этих нужд пользовательские функции, например такие: Public Const pi = 3.14159265358979 Public Const delta = 0.00000000001 'Перевод углов в формате D.mmssss в радианы Function Radian(Grad As Double) As Double If Grad >= 0 Then Grad = Grad + delta Else Grad = Grad - delta End If g = Fix(Grad) mm = (Fix((Grad - g) * 100)) / 60 ss = (Grad * 100 - Fix(Grad * 100)) / 36 Radian = (g + mm + ss) / 180 * pi End Function 'Перевод углов из радиан в формат D.mmssss. Function Gradus(Rad As Double) As Double Grad = Rad * 180 / pi g = Fix(Grad) mm = Fix((Grad - g) * 60) / 100 ss = ((Grad - g) * 60 - Fix((Grad - g) * 60)) * 0.006 Gradus = g + mm + ss If Gradus >= 0 Then Gradus = Gradus + delta Else Gradus = Gradus - delta End If End Function С уважением, Александр.
В качестве компенсации причиненных неудобств для начинающих в Exce привожу файл в нем находятся 4-е пользовательских функции: кроме вышеприведенных, еще функция =direct(x1;y1;x2;y2), вычисляющая дирекционный угол между двумя точками с координатами, указанными в параметрах числами или ссылками на соответствующие ячейки; и функция =dist(x1;y1;x2;y2),вычисляющая расстояние между этими точками. При вводе, как минуты, так и секунды должны содержать по две цифры, если за ними есть значащие цифры. Машинное представление и обработка угловых величин выполняется со всеми введенными значащими знаками Прежде, чем открыть файл установите в настройках Excel: Сервис_Параметры_Безопасность_Безопасность макросов и установите «Средняя». На предупреждение системы безопасности - жмите кнопку «не отключать макросы». На листе книги находится несколько примеров использования функций. А вот сам файл следует сохранить с расширением *.xla (файл надстройки), имя может быть любое, но лучше не менять. Теперь при следующем запуске сеанса Excel, следует подключить новые возможности таблиц, для этого Сервис_Надстройки и ставим «галку» рядом с именем сохраненного файла. После этого во всех Книгах Excel на данном компьютере можно будет использовать новые функции точно также как и стандартные. Для того, что бы они действовали на другой машине, нужно на нее установить эту надстройку или для вашего переносимого файла в VBE создать модуль и скопировать туда листинг пользовательских функций. С уважением, Александр.