您目前已離線,請等候您的網際網路重新連線

如何在 Excel 中的十進位角度來回轉換角度度/分/秒

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:213449

結論
角度的度量單位,通常會度、 分和秒 (DMS) 為單位來表示。1 度等於 60 分鐘,而一分鐘等於 60 秒。若要簡化一些您可能想要表示中度 」 及 「 小數度的角度的度量單位的數學計算。

本文包含範例的自訂函式,您可以使用轉換儲存在十進位的格式,才能儲存在文字格式及轉換至程度值以十進位格式儲存的 [DMS 範例函式的 DMS 中度值。
其他相關資訊
Microsoft 會提供程式設計範例僅供說明,不提供任何明示或默示的保證,其中包括,但不是限於適售性以及適合某特定用途之默示擔保責任。本文假設您已熟悉我們所示範的程式設計語言,以及用來建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助解釋特定程序中的功能,但它們不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。
如果您有限制的程式設計經驗,您可能想要連絡微軟認證夥伴 」 或 「 Microsoft 諮詢服務。如需詳細資訊,請造訪下列 Microsoft 網站:

Microsoft 認證合作夥伴- https://partner.microsoft.com/global/30000104

Microsoft 諮詢服務- http://support.microsoft.com/gp/advisoryservice

如需有關可用支援選項,以及有關如何連絡 Microsoft 的詳細資訊,請造訪下列 Microsoft 網站:http://support.microsoft.com/default.aspx?scid=fh;EN (英文)CNTACTMS (英文)

將數字度數轉換為度/分/秒

下列的 Microsoft Visual Basic for Applications 自訂函式會接受角度格式化為十進位的值,並將它轉換為中度、 分和秒顯示的文字值。

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 WithEnd Function				
若要使用這個函式,建立轉換的公式,如下列範例所示:
  1. 啟動 Excel,然後按下 ALT + F11 來啟動視覺化的 Basiceditor。
  2. 按一下 [插入] 功能表上的 [模組]。
  3. 輸入上述模組工作表中的 Convert_Degree customfunction 的範例程式碼。
  4. 請按 ALT + F11,若要回到 excel。
  5. 儲存格 A1 中輸入 10.46.
  6. 儲存格 A2 中輸入下列公式:
    =Convert_Degree(A1)


    公式傳回 10 ° 27'36"

轉換為十進位的角度的度/分/秒

下列的 Microsoft Visual Basic for Applications 自訂函式會接受度、 分和秒格式的 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 + secondsEnd Function				
若要使用這個函式,建立轉換的公式,如下列範例所示:
  1. 啟動 Excel,然後按下 ALT + F11 來啟動視覺化的 BasicEditor。
  2. 按一下 [插入] 功能表上的 [模組]。
  3. 輸入上述模組工作表中的 Convert_Decimal customfunction 的範例程式碼。
  4. 請按 ALT + F11,若要回到 excel。
  5. 儲存格 A1 中輸入下列公式:
    = Convert_Decimal("10° 27' 36""")
    附註: 您必須輸入三個引號 (""") 在 endof 的引號之間取得平衡此公式的引數將標示為 secondsand 的文字字串在引號。儲存格參照不需要 aquotation 的標記。
  6. 此公式會傳回 10.46

警告:本文為自動翻譯

內容

文章識別碼:213449 - 最後檢閱時間:09/23/2015 17:13:00 - 修訂: 5.0

Microsoft Office Excel 2003, Microsoft Excel 2010, Microsoft Office Excel 2007

  • kbfunctions kbconvert kbsample kbdtacode kbhowto kbprogramming kbmt KB213449 KbMtzh
意見反應