プロが教えるわが家の防犯対策術!

Excelの自動計算で60進法の緯度・経度を10進法に、
10進法の緯度・経度を60進法に相互変換したいのですが、
計算式をご存知の方はいらっしゃいますでしょうか。

具体的には、
経度139453.5 ⇔ 経度139.759774
といった感じです。

地理の項目で質問して計算方法はわかったのですが、
これをExcelの計算式にしようとしたところ行き詰まりました…

http://okwave.jp/qa3217137.html

よろしくお願いします。

A 回答 (5件)

>経度139453.5 ⇔ 経度139.759774


まずこれは変ですね。経度139.759774なら1394535.19になるはずです。

ともあれ計算式は、A1に1394535.19があるとき
=INT(A1/10^4)+INT(MOD(A1,10^4)/100)/60+MOD(A1,100)/60^2
で139.759774が求められます。

またA2に139.759774があるとき
=VALUE(INT(A2)&TEXT(INT(MOD(A2,1)*60),"00")&TEXT(MOD(MOD(A2,1)*60,1)*60,"00.00"))
で1394535.19が求まります。

意味は考えてみてください。上の式の方が考えやすいと思います。下の式はその反対を行っているだけです(ただし桁数を合わせるため、一旦文字列にしていますが)
    • good
    • 6
この回答へのお礼

完璧でした。ありがとうございます。
今後も同じ問題でこのページに辿り着く人がたくさんいると思います。
たいへん助かりました。

お礼日時:2007/08/02 22:48

こんにちは。



>経度139453.5 ⇔ 経度139.759774
(桁が違っているのでは?)

139.759774
  ↓
139゜45'35.19

別の数値

135.7696944
=INT(A1)&"゜"&TEXT(MOD(A1,1)/24,"mm!'ss.00")

結果:
135゜46'10.90
(度数を入れない場合は、
=INT(A1)&TEXT(MOD(A1,1)/24,"mmss.00")*1
)

A2

1354610.90
=INT(A2/10000)+MOD(TEXT(A2,"00!:00!:00"),"1:0")*24

結果:
135.7696944
    • good
    • 3
この回答へのお礼

こちらも完璧な結果を取り出すことができました。
ありがとうございます。
ポイントは書き込み時間の違いです。ご了承ください。

お礼日時:2007/08/02 22:51

これは、「1394206.6」を時・分・秒に分解しないと計算できないので、ちょっと面倒ですができます。



(例示の「139453.5」では桁が足りませんので、最初の質問の値を持ってきました)

時を求める:
1394206.6を10000で割った結果の整数部だけを取り出します。1394206.6/10000=139.42066で、整数部だけにすると139ですね?Excelで整数部だけを求める関数は、ROUNDDOWN関数です。A1セルに先の値が入っているとして具体例で示すと、次のとおり。
=ROUNDDOWN(A1/10000,0)

分を求める:
1394206.6から、先に求めた時を10000倍したものを引き、100で割った結果の整数部だけを取り出します。(1394206.6-139*10000)/100=42.066です。実際の式は上の例から考えてみてください。

秒を求める:
1394206.6から、先に求めた時を10000倍したものと分を100倍したものを引けば、秒の答えが出てきます。

これらを一つにまとめることもできますが、見た目が長くなりすぎるので、時分秒を別個のセルに出して、後で足した方が解りやすいでしょう。

なお、分と秒を10進変換するために、それぞれ60と3600で割ることをお忘れなく。
    • good
    • 0
この回答へのお礼

なるほど。
今回、お二方に完璧な関数をご提示いただいたため、
次点にすることができないのですが、
整数部分の取り出しかたなどは、
たいへん参考になりました。
本当にありがとうございます。

お礼日時:2007/08/02 22:46

10進法の緯度・経度を24でわってください


セルの書式設定のユーザー定義で
[h]:mm:ss としてください。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
近いものなどいろいろ試してみたのですがうまくいきませんでした…

お礼日時:2007/08/02 22:43

緯度や経度ではなく時間の表示にしてしまえばいいのでは?



たとえば、
135度30分40秒を135時間30分40秒として、
135.5111時間(135.5111度)とでも、
135時間30.667分(135度30.667分)とでも、
お好きなようにできるかと。

北緯と南緯、東経と西経は、どちらもプラスマイナス
(北緯がプラスで南緯がマイナス、のように)で区別できます。

この回答への補足

お返事ありがとうございます。
それは関数か書式設定の変更で簡単にできるでしょうか…
Excelのシートには各セルに139453.5の形式で、
たくさんの経度が入力されていますが、
そのまま書式設定を時刻に変更してみてもだめでした…

補足日時:2007/08/01 23:25
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A