• ベストアンサー

Excelでの時刻入力

初めて質問を投稿します。 私は仕事でよくExcelを使うのですが、 Excelで時刻入力する際、通常は”15:00”というように入力しますが、 時刻の入力数が多過ぎて、毎回わざわざ”:(コロン)”を入れるのに手間がかかってます。 ”1500”と入力するだけで時刻を入力できる方法ってあるんでしょうか? その入力した時刻データを使って、別セルに関数で計算をさせてるんですが、 シリアル値で入ってないと当然計算ができないので困ってます。 セルの書式設定とかでどうにかできたりするんでしょうか? いい方法をご存知の方、どなたか教えて頂ければ嬉しいです。

  • eru17
  • お礼率88% (105/118)

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

  • ベストアンサー
  • wine_labo
  • ベストアンサー率86% (73/84)
回答No.1

セルA1に "1500" と入力 セルA2には式 =TIME(MID(A1,1,LEN(A1)-2),RIGHT(A1,2),0) とするとA2にはシリアル値で時刻が得られると思います。 3桁でも4桁でも対応していますので "245" と入力すると 2:45 となりますよ。 必要に応じてセルA1での入力ミスを防ぐために入力規則で値の制限や 別セルを使って値チェックなどをしておくといいでしょう。 あとはA2の書式設定をお好みの時刻書式にしてください。

eru17
質問者

お礼

ほんとだ!出た…( ̄□ ̄;) MID?LEN?RIGHT? 使っている個々の関数の意味がよくわかんないけど。そんなややこしい組み合わせをしないといけなかったんですね。 ほんとありがとうございます!m(__)m これで仕事がはかどります!効率UP! こういうのって皆さんどうやって勉強されるんでしょう…。

その他の回答 (6)

noname#12503
noname#12503
回答No.7

#4の方はスマートですね。 >=TEXT(A1,"00"":""00") >でも15:00の表示(文字列)になります。 >時刻形式のシリアル値とする場合は >=TEXT(A1,"00"":""00")*1 >=TEXT(A1,"00"":""00")+0 >で表示形式をユーザー定義で[h]:mmの様にしてくださ>い。 ここでもう一工夫させてください。 たとえば#4の方の式がセルA2だとしたら A2は関数のままですよね、そこで関数ではなくて セルに値として返すために、例えばA3に表示させるとして A2を選択→「コピー」→A3を選択→「形式を選択して貼り付け」→「値」→OK こうしておけばA3には値が入ります。 もちろん、いちいちコピー&ペーストは大変ですから 入力の最後にコピー&ペーストをしてもいいし、マクロを作るなりしてもいいと思います。 もう一つ、貼り付け先を同じセルにしておけば余分な作業セルを作らなくてすみます。 私の考えですが関数のままより値にした方がいいと思いますがどうですか? 今回のコピー&ペーストは当たり前のことで蛇足だったですか?   

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

回答は出尽くしていますが質問者に一言言いたいことがあります。 >入力した時刻データを使って、(後に)別セルに関数で計算をさせてるんですが 関数を使うとは、セルの見た目でなく、「値」を使って加工するものです。 だから表示形式で時刻のように見せても、「値」が時刻シリアル値にならないと、時刻の足し算引き算計算しても思ったとおりになりません。 だから後半に「>セルの書式設定とかでどうにかできたりするんでしょうか」を付け加えるのはおかしいです。回答に「単純な」書式による回答が出るのはおかしいです。 ただ#4のご回答は工夫があって正しいですが。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 入力の手間をなくす、という観点での別回答です。 オートコレクトの機能を使います。 やり方は、 メニューの[ツール]→[オートコレクト]で、 [入力中にオートコレクト]にチェックを入れておき、変換候補に、 「..」(ピリオド2個) ↓ 「:」(コロン) を追加します。 これで、セルに、 「15..00」 と入力すると、自動的に 「15:00」 という時間(もちろんシリアル値)に変換されます。 「.」(ピリオド)はテンキー群の中にあり、「:」よりも入力しやすいと思います。 なお、変換する文字列を「..」と、ピリオド2個にしているのは、ピリオド1個で普通に小数点などを使用するためです。 ところで、No.4の方の回答の数式は、 =TEXT(A1,"0!:00") という書き方も出来ますね。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

=TEXT(A1,"00"":""00") でも15:00の表示(文字列)になります。 時刻形式のシリアル値とする場合は =TEXT(A1,"00"":""00")*1 =TEXT(A1,"00"":""00")+0 で表示形式をユーザー定義で[h]:mmの様にしてください。

  • dac203
  • ベストアンサー率43% (92/212)
回答No.3

仮にA1に「1500」と入っていたとして、私のやり方は =CONCATENATE(LEFT(A1,LEN(A1)-2),":",RIGHT(A1,2)) とやりました。各関数の説明は・・・ ・CONCATENATE関数というのは文字を連結させる関数 ・LEFT関数は左から指定文字数を取り出す関数 ・LEN関数は文字の長さを取り出す関数 ・RIGHT関数は右から指定文字数を取り出す関数 ・・・といったところでしょうか。流れとしては「1500」の左から「15」を取り出し、右から「00」を取り出し、間に「:」を挟んで結合させるという流れです。 LEN関数は「300」など文字数が3の場合に「30:00」とならないための細工です(3文字の場合は左から1文字、4文字の場合は左から2文字取り出すです)。 ・・・と書きましたけど、#1さんのやり方がスマートでいいですね(^^;)>。

eru17
質問者

お礼

なるほど!! 関数の組み合わせによって、いろんな方法でできるんですね。 文字を連結させる関数もあるのか…。 Excelって便利☆ 私からするとdac203さんも十分すごいですよ!! すごく参考になりました! これからそういう関数が自分で作れるようもっと修行します! ありがとうございました。m(__)m 何かの折にはまたよろしくお願いします(笑)

  • dac203
  • ベストアンサー率43% (92/212)
回答No.2

私も試しに「1500」「1330」と入力し、別セルに「15:00」「13:30」と関数を使って表示させ、そのセル同士で引き算をしてみましたが、結果は「1:30」と表示され、きちんと計算できてるみたいです(--)? 差し支えなければ、その「別セルに関数で計算」の具体的な例を提示頂けると何かわかるかもしれません。

eru17
質問者

お礼

ご回答ありがとうございます。 『別セルに「15:00」「13:30」と関数を使って表示させ』ってのはどんな関数を使うのでしょうか? ちなみに、私が関数を使った計算は単に二つの時刻を引き算して、差は何時間かを出しているだけです。 初心者なもんですみません…(^^;

関連するQ&A

  • エクセルで日付+時刻の手入力について

    エクセルで通常、キーボードから 2011/12/15 12:15:17 と入力すればエクセルが日付+時刻の入力だと判断し、シリアル値として扱われます(セルの書式設定から標準で見るとシリアル値になる) 質問:会社のパソコンで20台ためしてみたのですが、1台だけ文字として認識されてしまうパソコンがあります。 このパソコンも日付だけもしくは時刻だけならシリアル値として扱ってくれるのですが日付+時刻の場合だけ文字として認識してしまいます。 バージョンは2003です。 どこか設定が必要なのでしょうか? すみませんが、教えて下さい。

  • EXCELでコロン「:」を使用した時にシリアル値にならないようにしたい

    EXCEL2007(他ヴァージョンは分かりません)にて、コロンを使用した時刻を入力すると、勝手に書式が変わって、表示は時刻のままですが、値がシリアル値になってしまいます。これが機能しないようにしたいです。 元々数式が入力されているセルで、必要に応じて時刻を手入力しているので、書式を文字列にするのは不可です(手入力後はマクロで元の数式を入れてます)。 要は通常は数式を使用し、コロン「:」を使用して入力した時は文字列としたいのです。 コロンを使用しないで、例えば15:00を1500のように入力すれば、目的は果たせるのですが、他の(EXCELの知識がない)作業者が使用するファイルのためどちらの入力方法でも稼働するようにしたいのです。同じ理由でシングルクォートの使用も不可です。 条件付き書式やTEXT関数を使用しても、シリアルへの変換後に機能するためかうまくいきませんでした。

  • Excelで時刻のセル入力について

    Excelのセルに時刻入力(hh:mm)をしたいのですが、「:」(コロン)は自動入力できないでしょうか? 例えばセルに500と入力したら、5:00と表示されるようにしたいのですが…。

  • Excelで時刻の平均を出すには?

    初めて質問します。 Excel2002を使って40名くらいの一週間の就寝時刻のデータの整理をしているのですが、 時刻の平均がうまく出せません。 たとえば就寝時刻が21:00と1:00だったら平均は23:00だと思うのですが、AVERAGEの関数(というのでしょうか?)で計算すると11:00になってしまいます。 1:00を25:00にすれば計算できるのですが、セルの書式を時刻の13:30という設定にして、 もうすでに膨大な量を入力してしまっています。 24時間表記のまま、時刻の平均を出す良い方法はありますでしょうか。 もしくは、 24時間以上の表記に簡単に直せる方法があれば教えてください。よろしくお願いします!

  • Excelで簡単に現在時刻を入力するには

    Excelでセル内に現在時刻を入力する方法で質問です。 NOW関数では現在の年月日と時刻、TODAY関数では年月日が入力できますが、 時刻だけを簡単に入力する方法はないでしょうか。

  • エクセルで時刻の入力をしたい

    エクセル2007を使っています。 時刻を入力したいのですが、24時間表示にするにはどうしたら良いのでしょうか? 24:30という時刻を入力したいのですが、表示が0:30になってしまいます。 セルの書式設定で「時刻」を選択し、種類で「13:30」というのを選びましたが、やはり表示は0:30のままです。 どうしたら24時間表示にできるのでしょうか?

  • エクセルで時間入力10:30の:コロン省略したい。

    始業と終業の時間を入力し勤務時間を計算しております。 始業時間はA1に8:30 終業時間はB1に17:00と入れております。 コロン(:)を省略できるととても楽になります。8:30は830と入力、17:00は1700と入力して 表示にはコロンが入り、セルの書式としては時刻と認識し時間計算が出来ればありがたいです。 よろしくお願い致します。

  • エクセル 時刻計算の方法

     ある書籍でエクセルの勉強をしているのですが、それに記載されている時刻計算の方法がよくわかりません。  その書籍では実働時間を算出する際    I13(18:30)-G13(9:00)-"1:00"としてあります。  このやり方で正しい答えは算出されるのですが、  なぜシリアル値が入力されているセル(I13とG13)と文字列に変換した1:00とで計算できるのでしょうか。  シリアル値と文字列は同じベクトルでは、計算できないので、1:00という数値は、TIME関数を用い TIME(1,0,0)としなければならないのではないのでしょうか。  考え方について、ご存じの方がいらしたらご教示ください。 よろしくお願いいたします。  

  • エクセルで時刻表示が……

    エクセルで表を作成しています 時刻を入力することが多く コロン”:”を自動入力したく セルの書式設定でユーザ定義を選択し 種類の欄に0”:”00と入力し、OKを押下しました セルに 850と入力したところ いつもは8:50と 表示されるのですが、今日会社で そのような設定で行ったところ 8:50:と 50のうしろにコロンが 表示されてしましました 何か設定に ミスがあったのでしょうか? 全く理由がわからず 結局時刻を選択し 13:30をえらびOKを押し、セルの入力をおこなったので すが、 やはり不便で できれば なぜこのようになったのか 理由をしりたいのです 情報が少なく あまり参考にならないかもしれませんが ヒントでもいただければ とご質問させていただきました。何か アドバイスをいただける方は お願いいたします 自宅に帰って 自分のパソコンで 同じ操作をしたら その時は きちんと8:50と表示されました。 会社で使った表は もともと ほかの方が作ったもので  セルの書式設定が標準になっていたり 文字列になっていてりしていました それを ユーザ定義に修正したのですが そのことと 関係あるのでしょうか? 家のパソコンでできても 会社のパソコンでできないと 仕事に 影響してくるので 原因を知りたいです どなたか お知恵をお貸しください 宜しくお願いいたします

  • excel 時刻の引き算の結果と、直接入力とはシリアル値が違う

    お世話になります。 たとえば、 15:00 - 14:30 = 0:30 これを書式を変更してシリアルで見ると、0.0208333333333333 0:30 直接入力した場合は シリアルで 0.0208333333333334 となり、見た目同じなのにシリアルが違う為、 あとでこの二つをVlookup などで再利用しようとしたとき 結びつきません。 どちらにあわせてもよいので、 同じ結果にしたいのですが、 どのような方法があるでしょうか? できれば、時刻 - 時刻  という数式のうちに、 何か書式を変えるような式があるならそれを入れて、 結果を、直接入力した結果と同じにしたいです。 よろしくお願いします。

専門家に質問してみよう