ここから本文です

緯度経度を10進法から度分秒に変換したいと思い、以下の数式を考えました。

アバター

ID非公開さん

2018/1/3114:55:11

緯度経度を10進法から度分秒に変換したいと思い、以下の数式を考えました。

=VALUE(INT(A1&TEXT(INT(MOD(A,1)*60),"00")&TEXT(MOD(MOD(A,1)*60,1)*60,"00.00"))
しかしこれだと、変換したい数値の内で経度が140.6の場合のみ変換後の値が違うもの(1403600のはずなのに1403560)で返ってきます。
数式のどこかがおかしいのでしょうか。
御教授いただければ幸甚です。
(24で割ったものをユーザー形式で[h]mmssなどに表示形式を変更するやり方では1の位で四捨五入されてしまい値が微妙に変わってしまうので使っていません)

閲覧数:
373
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2018/1/3115:10:11

数式はコピーミスでズタボロですが、3560になるのはいつもの演算誤差ですね。int関数のところで、35.99999999999 が35になるから。

=text(A1/24,"[h]mmss.000")*1 の方がリーズナブルですが、どうしても複雑にやりたいならint関数で切り捨てる前に丸めましょう。

アバター

質問した人からのコメント

2018/1/31 16:26:53

こんな簡単にできるのですね…!
御回答いただき有難うございました!

ベストアンサー以外の回答

1〜1件/1件中

tam********さん

2018/1/3115:23:33

こんなんとか。
=INT(A1)*100+MOD(A1,1)*60

これでもダメなら、こんなんとか。
=INT(A1)*100+ROUND(MOD(A1,1),6)*60

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる