人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelに関する質問です。 あるデータベースのテキストファイルをExcelで開こうとしました。 そのファイルの時刻は「0822(am 8:22)」「0008(am 0:08)」と表示されているのですが、Excelで開くと、「0822」→822、「0008」→8 と表記されています。 セルの書式設定のユーザー定義にて見た目を「0822」「0008」と表示することは可能でした。しかし当初の目論みとしてはLEFT関数で「時」を抽出し、RIGHT関数で「分」を抽出した後、「時」と「分を60で割ったもの」を足すことで、24時間表記を可能にし、各時間帯にでた商品の数をカウントすることを考えておりました。 実際には、LEFT関数で左の2桁を表記させようとすると「0822」は「82」となってしまいます。「0008」にいたっては「8」となり、「0」を認識してもらえません。 このような状況をふまえて、時刻の4桁表記を24時間表記へ変換させるようなうまい方法はありませんでしょうか? 皆さんのお知恵を貸していただきたいと思います。

●質問者: kiyonorida
●カテゴリ:コンピュータ 学習・教育
✍キーワード:AM Excel なう カウント セル
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● virtual
●20ポイント
=INT(A1/100)/24+(A1-INT(A1/100)*100)/24/60

変換する対象の数字がA1セルに入力されているとして、上記の式で表示される数字を書式設定で時刻にすれば24時間表記に変換することができます。

◎質問者からの返答

なるほど。私の稚筆のために聞きたかったことが伝わりにくかったことが残念ですが、ものすごく勉強になりました。こういう方法で24時間表記可能なんですね。参考になりました。ありがとうございます。


2 ● pahoo
●20ポイント

Excelで開いたときに、整数と認識されているようですね。この認識処理はそのままにしておくことにします。

そのファイルの時刻が A1 に入っているとしたら、B1 に下記のような式を書けば、"0822" を得ることができます。

=RIGHT("0000" & FIXED(A1,0),4)

あとは、LEFT関数なり RIGHT関数なりで時分を取り出して下さい。

◎質問者からの返答

”&”の利用は思いつきませんでした。 こうすると確かに表記できました。 その後の処理も簡単ですね。ありがとうございます


3 ● wizemperor
●20ポイント

他にもっといい方法があるかもしれませんが、とりあえず。


1.0000を追加

2.右から4文字取得

3.2の左から2文字、右から2文字を取得

4.24時間表記に変更


A1に時刻がはいってるとすれば、次のような感じ。

=LEFT(RIGHT("0000"&A1,4),2)

=RIGHT(RIGHT("0000"&A1,4),2)

元のファイルにAM/PMの区別がないなら、汎用性のあるやりかたはないと思いますが、

とりあえず、時・分は上記のような方法でできると思います。

◎質問者からの返答

私の意図していた状況がとても簡易に表現できますね。大変助かりました。ありがとうございました。


4 ● きゃづみぃ
●20ポイント

A1に値が入っているとして

=RIGHT("0000" & A1,4)

で 4桁の文字列となります。

この RIGHT("0000" & A1,4)を利用して

LEFT(RIGHT("0000" & A1,4),2)とすれば 時間が取得でき、

また

RIGHT("00" & A1,2)とすれば 分が取得できます。

◎質問者からの返答

私の意図していた状況がとてもさらに簡易に表現できますね。大変助かりました。ありがとうございました。


5 ● minubow
●20ポイント

100で割り算して、答えの部分が「時」で、余りの部分を「分」とすればよいのではないでしょうか?

数式では、「時」・・・round(A1/100,0)

「分」・・・mod(A1,100)

という具合です。

◎質問者からの返答

そうですね。4桁表記ができてしまえば、この表現の方がエレガンスかもしれません。参考になります。ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ