• ベストアンサー

Excelの自動計算で緯度・経度を60進法⇔10進法で相互変換したい

Excelの自動計算で60進法の緯度・経度を10進法に、 10進法の緯度・経度を60進法に相互変換したいのですが、 計算式をご存知の方はいらっしゃいますでしょうか。 具体的には、 経度139453.5 ⇔ 経度139.759774 といった感じです。 地理の項目で質問して計算方法はわかったのですが、 これをExcelの計算式にしようとしたところ行き詰まりました… http://okwave.jp/qa3217137.html よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

>経度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が求まります。 意味は考えてみてください。上の式の方が考えやすいと思います。下の式はその反対を行っているだけです(ただし桁数を合わせるため、一旦文字列にしていますが)

kuzumiHK
質問者

お礼

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

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 >経度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

kuzumiHK
質問者

お礼

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

noname#194317
noname#194317
回答No.3

これは、「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で割ることをお忘れなく。

kuzumiHK
質問者

お礼

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

  • jokyoju
  • ベストアンサー率45% (10/22)
回答No.2

10進法の緯度・経度を24でわってください セルの書式設定のユーザー定義で [h]:mm:ss としてください。

kuzumiHK
質問者

お礼

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

  • hirokazu5
  • ベストアンサー率16% (308/1836)
回答No.1

緯度や経度ではなく時間の表示にしてしまえばいいのでは? たとえば、 135度30分40秒を135時間30分40秒として、 135.5111時間(135.5111度)とでも、 135時間30.667分(135度30.667分)とでも、 お好きなようにできるかと。 北緯と南緯、東経と西経は、どちらもプラスマイナス (北緯がプラスで南緯がマイナス、のように)で区別できます。

kuzumiHK
質問者

補足

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

関連するQ&A