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

Переводы статьи Переводы статьи
Код статьи: 213449 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Углы обычно выражаются в единицах градусы, минуты и секунды (DMS). Один градус равен 60 минутам и один минута – 60 секунд. Для упрощения математических расчетов, вы можете Чтобы выразить углы в градусах и десятичных долях градусов.

Эта статья содержит пример пользовательской функции, которые можно использовать Чтобы преобразовать значение в градусах в десятичном формате, в суд, хранящиеся в текстовом формат и пример функции, которая преобразует значение в градусах в суд десятичный формат.

Дополнительная информация

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации, без гарантии или подразумеваемых, включая, но не ограничиваясь, подразумеваемые гарантии товарности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с языком программирования рассчитаны и средствах, используемых для создания и отладки. Службы технической поддержки Майкрософт могут объяснить возможности конкретной процедуры, но они не будут изменять примеры для обеспечения функциональных возможностей или удовлетворения конкретных потребностей.
Имеют ограниченный опыт программирования, необходимо обратиться к сертифицированному партнеру корпорации Майкрософт или консультационной службе корпорации Майкрософт. Для получения дополнительных сведений посетите следующие веб-узлы корпорации Майкрософт:

Сертифицированных партнеров Майкрософт: https://Partner.Microsoft.com/Global/30000104

Консультационной службе корпорации Майкрософт- http://support.Microsoft.com/gp/advisoryservice

Дополнительные сведения о доступных вариантах поддержки и о том, как связаться с корпорацией Майкрософт посетите следующий веб-узел корпорации Майкрософт:также;EN-US;CNTACTMS

Преобразование десятичных градусов в градусы, минуты, секунды

Следующие Visual Basic для приложений Microsoft пользовательских функция принимает в виде десятичного значения угла и преобразует его к текстовое значение, отображаемое в градусах, минутах и секундах.

Function Convert_Degree(Decimal_Deg) As Variant
    With Application
        'Set degree to Integer of Argument Passed
        Degrees = Int(Decimal_Deg)
        'Set minutes to 60 times the number to the right
        'of the decimal for the variable Decimal_Deg
        Minutes = (Decimal_Deg - Degrees) * 60
        'Set seconds to 60 times the number to the right of the
        'decimal for the variable Minute
        Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
        'Returns the Result of degree conversion
       '(for example, 10.46 = 10~ 27  ' 36")
        Convert_Degree = " " & Degrees & "° " & Int(Minutes) & "' " _
            & Seconds + Chr(34)
    End With
End Function
				
Для использования этой функции, создайте формулу преобразования, как показано ниже Пример:
  1. Запустите Excel и нажмите клавиши ALT + F11, чтобы запустить Visual Basic редактор.
  2. В меню Вставка выберите пункт модуль.
  3. Введите образец кода для пользовательской Convert_Degree функции, описанные выше в модуле.
  4. Клавиши ALT + F11, чтобы вернуться в excel.
  5. В ячейке A1 введите 10.46.
  6. В ячейке A2 введите следующую формулу:
    =Convert_Degree(a1)


    Формула возвращает значение 10 ° 27'36 "

Преобразование десятичных градусов градусы, минуты, секунды

Следующие Visual Basic для приложений Microsoft пользовательских функция принимает строку текста в градусах, минутах и секундах в формате точно том же формате, возвращаемое функцией Convert_Degree (например, 10 ° 27' 36 ") и преобразует его в виде десятичного значения угла. Это точно так же в отличие от функции Convert_Degree.

Предупреждение: Эта функция не Если аргумент Degree_Deg не в следующий формат
<degrees>° <minutes>' <seconds>" </seconds></minutes></degrees>
даже если значение секунд равно 0.
Function Convert_Decimal(Degree_Deg As String) As Double
   ' Declare the variables to be double precision floating-point.
   Dim degrees As Double
   Dim minutes As Double
   Dim seconds As Double
   ' Set degree to value before "°" of Argument Passed.
   degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
   ' Set minutes to the value between the "°" and the "'"
   ' of the text string for the variable Degree_Deg divided by
   ' 60. The Val function converts the text string to a number.
   minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _
             InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, _
             "°") - 2)) / 60
    ' Set seconds to the number to the right of "'" that is
    ' converted to a value and then divided by 3600.
    seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
            2, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 2)) _
            / 3600
   Convert_Decimal = degrees + minutes + seconds
End Function
				
Для использования этой функции, создайте формулу преобразования, как показано ниже Пример:
  1. Запустите Excel и нажмите клавиши ALT + F11, чтобы запустить Visual Basic Редактор.
  2. В меню Вставка выберите пункт модуль.
  3. Введите образец кода для пользовательского Convert_Decimal функции, описанные выше в модуле.
  4. Клавиши ALT + F11, чтобы вернуться в excel.
  5. В ячейке A1 введите следующую формулу:
    = Convert_Decimal("10° 27' 36""")
    Примечание: требуется три кавычки ("" ") в конце аргумента этой формулы необходимо сбалансировать знак кавычек для секунд и знак кавычек для строки текста. Не требует ссылки на ячейки знак кавычек.
  6. Формула возвращает значение 10.46.

Свойства

Код статьи: 213449 - Последний отзыв: 20 июля 2012 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office Excel 2003
  • Microsoft Excel 2010
  • Microsoft Office Excel 2007
Ключевые слова: 
kbfunctions kbconvert kbsample kbdtacode kbhowto kbprogramming kbmt KB213449 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 213449

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com