Excel 内の 10 進数の角度を度/分/秒の角度に変換する方法

文書翻訳 文書翻訳
文書番号: 213449 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

角度の測定値はよく単位で表されます度、分、および秒 (DMS) を使用します。1 度は 60 分、1"を"と等しい60 秒 1 分に相当します。可能性がありますいくつかの算術演算を簡略化するのには角度の測定には、度数と小数の高速にします。度。

この資料でには使用するサンプル ユーザー定義関数が含まれています。テキストで格納される DMS に 10 進形式で格納度値を変換するには形式、および DMS で格納度値を変換する関数のサンプル10 進形式です。

詳細

マイクロソフトがありますするには、市場性および特定目的への適合性の黙示の保証の表現または暗黙は説明のためだけに、プログラミングの例を提供します。この資料は、例示されているプログラミング言語と作成し、プロシージャをデバッグするために使用するツールに精通するいると仮定します。Microsoft support 担当者は、特定のプロシージャの機能について説明するに役立つが、機能を追加したり、特定のニーズを満たすようにプロシージャを作成するには、次の例は変更されません。
プログラミングの経験が制限されている場合は、マイクロソフト認定パートナー、あるいはマイクロソフト アドバイザリー サービスにお問い合わせくださいする可能性があります。詳細については、次のマイクロソフト Web サイトを参照してください。

マイクロソフトの認定パートナー https://partner.microsoft.com/global/30000104

マイクロソフト アドバイザリー サービス 〜 http://support.microsoft.com/gp/advisoryservice

使用可能なサポート オプションおよびマイクロソフトへの問い合わせ方法の詳細については、次のマイクロソフト Web サイトを参照してください。http://support.microsoft.com/default.aspx?scid=fh。EN-US (英語)。CNTACTMS

度/分または秒を 10 進数の度を変換します。

次の Microsoft の Visual Basic for Applications カスタム関数を受け入れる、角度を 10 進値として書式指定し、に変換します。テキストの値を度、分、および秒で表示します。

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 を起動し、Visual Basic を起動するには、alt キーを押しながら F11 キーを押します。エディターです。
  2. 挿入] メニューの [モジュール] をクリックします。
  3. カスタムの Convert_Degree のサンプル コードを入力してください。モジュール シートに上記の関数です。
  4. Excel に戻るには、alt キーを押しながら F11 キーを押します。
  5. セル A1 に入力します。 10.46.
  6. セル A2 に次の数式を入力します。
    =Convert_Degree(A1)


    数式返します 10 ° 27'36"

度/分または秒を 10 進数の度に変換します。

次の Microsoft の Visual Basic for Applications カスタム関数を受け取る文字列の度、分、および秒のフォーマットで、(など、10 ° Convert_Degree 関数が返す同じ形式27' 36") とは、10 進値として書式設定された角度に変換されます。これです。まったく逆の 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 を起動し、Visual Basic を起動するには、alt キーを押しながら F11 キーを押します。エディターです。
  2. 挿入] メニューの [モジュール] をクリックします。
  3. カスタムの Convert_Decimal のサンプル コードを入力してください。モジュール シートに上記の関数です。
  4. Excel に戻るには、alt キーを押しながら F11 キーを押します。
  5. セル A1 に次の数式を入力します。
    = Convert_Decimal("10° 27' 36""")
    : 次の 3 つの二重引用符 () を入力する必要が (""")、最後に二重引用符のバランスをとるこの数式の引数テキスト文字列の引用符。セルへの参照がない必要があります、クォーテーション マークします。
  6. 数式は 10.46 を返します

プロパティ

文書番号: 213449 - 最終更新日: 2012年7月18日 - リビジョン: 9.0
この資料は以下の製品について記述したものです。
  • Microsoft Office Excel 2003
  • Microsoft Excel 2010
  • Microsoft Office Excel 2007
キーワード:?
kbfunctions kbconvert kbsample kbdtacode kbhowto kbprogramming kbmt KB213449 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:213449
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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