« Excelの行列演算の関数を使う | トップページ | 天体の位置計算 »

2013年5月22日 (水)

度分秒・時分秒と度との変換(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の行列演算の関数を使う | トップページ | 天体の位置計算 »

編集用」カテゴリの記事

コメント

この記事へのコメントは終了しました。

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ