度分秒・時分秒と度との変換(2)
Excelのサンプルファイルを用意しました。
度分秒・時分秒.xls
(2013-10-03 19:31:04)
--------
「度分秒・時分秒と度との変換」の記事で時分秒(度分秒)の表示にExcelの書式を使うことの問題点をあげました。
1. 時分秒、度分秒がマイナスの場合に対応していない。
2. 時分秒、度分秒の秒が小数点以下の数値をもつ場合対応していない。
3. 入力フィールドに書式を設定してしまうと入力値を一文字だけ修正したいとき面倒。
このうち2.は私の認識不足で調べたら対応できることがわかりました。
そして1.はセルの書式ではなくTEXT関数の書式を使えばIF関数が使えますので対応が可能です。
こういうことを前提に時分秒(度分秒)の入力を“6h45m09.25s”(“'-16d42m47.3s”)の形式で入力する方法について考えてみました。
背景が緑になっているところが今回追加したところです。
D6、D7、D14、D15のセルでは赤経・時角を“6h45m09.25s”(あるいは経度、緯度、方位角を“'-16d42m47.3s”)の形で入力しています。
そしてE6、E7、E14、E15ではこれらを“度”の形に変換しています。
E6:
=SUBSTITUTE(SUBSTITUTE(MID(SUBSTITUTE(D6,"-",""),1,LEN(SUBSTITUTE(D6,"-",""))-1),"h",":"),"m",":")*15*24*SIGN(IF(LEFT(D6,1)="-",-1,1))
E14:
=SUBSTITUTE(SUBSTITUTE(MID(SUBSTITUTE(D14,"-",""),1,LEN(SUBSTITUTE(D14,"-",""))-1),"d",":"),"m",":")*24*SIGN(IF(LEFT(D14,1)="-",-1,1))
またこの“度”の表示を時分秒(度分秒)に変換するところも工夫してみました。
G6:
=IF( E6<0,"-"&TEXT(-E6/15/24,"[h]""h""mm""m""ss.00""s"""),TEXT(E6/15/24,"[h]""h""mm""m""ss.00""s"""))
G14:
=IF( E14<0,"-"&TEXT(-E14/24,"[h]""d""mm""m""ss.0"" s"""),TEXT(E14/24,"[h]""d""mm""m""ss.0"" s"""))
「度分秒・時分秒と度との変換」に書いたセルの計算式が間違っているわけではありませんの好みでどちらを使っていただいてもかまいませんが、こういう方法もあるということで書きました。
なおこの記事を書くにあたって
「Excel質問掲示板(一般操作) - 度分秒の計算」
を参考にさせていただきました。
« Excelの行列演算の関数を使う | トップページ | 天体の位置計算 »
「編集用」カテゴリの記事
- メモ(2013.11.04)
- 天体望遠鏡・拡大撮影の原理 (1)(2013.07.26)
- 天体望遠鏡・拡大撮影の原理 (2)(2013.07.26)
- 天体望遠鏡・拡大撮影の原理 (3)(2013.07.26)
- 天体望遠鏡・拡大撮影の原理 (0)(2013.07.26)
この記事へのコメントは終了しました。
コメント