• 締切済み

Excel 時刻の計算方法

Excel 時刻の計算方法 セルA 10/26/2010 06:54:32 セルB 10/27/2010 12:34:56 このような状態で、セルCにhh:mm:ss形式でAの時刻からBの時刻までにかかった時間を表示させたいのですが どうすればいいのでしょう

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

実際に例示のような「文字列」で入力されていて、セル間の引き算ができないなら、以下のような操作で一括してシリアル値に変換してから計算するのが簡単です。 「スタート」「コントロールパネル」で「地域と日付、時刻」の「地域と言語」の設定ダイアログを出、形式を「日本語(日本)」から「英語(米国)」に変更します。 次に、完全にシリアル値にするため、その列を選択して「データ」「区切り位置」で「完了」します。 このようにしておけば、地域と言語の設定を「日本語(日本)」に戻しても日付シリアル値として認識されますので、通常の引き算を行い、セルの書式をユーザー定義で「[h]:mm:ss」にしてください。 OSやエクセルのバージョンによって、操作法や機能が異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

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

文字列で入ってしまっているらい。 2010/10/26の形で入力されていると、 =DATEVALUE(LEFT(B1,FIND(" ",B1)-1))+=TIMEVALUE(RIGHT(B1,LEN(B1)-FIND(" ",B1))) で日付+時刻セリアル値になってくれて、A1セルのそれと、引き算をして、書式を[h]:mm:ssにすれば良いと思うが、10/27/2010 ではうまく行かない。 -- 元の値がが日付シリアル値で無い(文字列な)ので=DATE(YEAR(B1),MONTH(B1),DAY(B1))もうまく行かない。 この月・日・年の形式の入力は困ったものだ。 ーー どれも今年(同年)の話なら、REPLACEや置換操作で、両セルの/2010を削除して =B1-A1の式をC1に入れ、表示形式を[h]:mm:ssにすると、29:40:24になる。 これなら普通のやり方だ。 ーー /を頼りにFIND関数で月、日、年に分けて、DATE関数に持ち込む方法もあるが、式が長くなって、書く気がしない。 良い回答が出れば、私も勉強します。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

月や日にちを必ず二桁の数値で入力している場合でしたらC1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTA(A1:B1)<>2,"",VALUE(MID(B1,7,4)&"/"&LEFT(B1,5)&" "&MID(B1,12,10))-VALUE(MID(A1,7,4)&"/"&LEFT(A1,5)&" "&MID(A1,12,10))) あるいは2010年などと年が決まっているのでしたら次の式でもよいでしょう。 =IF(COUNTA(A1:B1)<>2,"",VALUE("2010/"&SUBSTITUTE(B1,"/2010"," "))-VALUE("2010/"&SUBSTITUTE(A1,"/2010"," "))) いずれの場合でもC列のセルの表示形式は次のようにします。 [h]:mm:ss hh:mm:ssの場合は24時間以上では正しい表示とはなりません。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、セルAのセル番号をA1、セルBのセル番号をB1、だとします。  もし、セルAとセルBに入っているデータがシリアル値である場合には、 まず、セルCには次の数式を入力して下さい。 =B1-A1  そして、セルCの[セルの書式設定]の[表示形式]の[分類]欄を、[ユーザー定義]とした上で、[種類]欄には次の様に入力して下さい。 [h]:mm:ss  因みに、セルCの[セルの書式設定]に関しては、[セルの書式設定]の[表示形式]の[分類]欄を[時刻]、[ロケール(国または地域)]欄を[イタリア語(イタリア)]とした上で、[種類]欄を 37:30:55 形式にしても同じ表示とする事が出来ます。  尚、セルAとセルBに入っているデータがシリアル値ではなく、文字列データである場合には、セルCに入力する数式を、次の様に変更して下さい。 =DATEVALUE(MID(B1,FIND("/",B1,4)+1,4)&"/"&LEFT(B1,FIND("/",B1,4)-1))+TIMEVALUE(RIGHT(B1,LEN(B1)-FIND("/",B1,4)-5))-DATEVALUE(MID(A1,FIND("/",A1,4)+1,4)&"/"&LEFT(A1,FIND("/",A1,4)-1))-TIMEVALUE(RIGHT(A1,LEN(A1)-FIND("/",A1,4)-5))

  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.1

まず、入力を日付・時刻入力にしてください。 日本語版Windowsでは年/月/日 でないといけません。 たとえば、2010/10/26 06:54:32 です。 その後、右クリック [セルの書式設定]→[表示形式]→[ユーザー定義] で、mm/dd/yyyy を指定すれば、目的の形式で表示されます。 こうしておくと、セルCにはB-Aの数式を書いて、 表示形式をhh:mm:ss にしておくと経過時間が出ます。

関連するQ&A

  • 時刻計算(ミリ秒)の方法

    こんにちは。 エクセルで、とある処理時間を計算しているのですが、その処理時間がhh:mm:ss.99となっています。 セルの表示形式としては、「h:mm:ss.00」としています。 そこで例えば、列AとBの間隔Cを求めたとします。 (列A)   (列B)  (列C=B-A) 12:30:55.00 12:31:55.30  00:00:00.30  ここまでは良いのですが、列Cの値を 0秒台、1秒台、2秒台 に分類したいのですが、その方法がよくわかりません。 列Cに対してSECOND関数を使うと、ミリ秒を四捨五入してしまいます。 (00:00:00.30→0、00:00:00.60→1 という感じ) 何か良い方法はないでしょうか? 宜しくお願いします。

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。

  • エクセルで時間差の計算

    日数間の計算結果を「hh:mm」形式で表示させたいのですが。 ------------------------------- セルA1 2003/10/01 10:00 セルB1 2003/10/02 11:30 セルC1 25:30 ------------------------------- 上記のようにA1とB1の時間差を「時:分」形式でC1に結果を表示させたいのですが24時間以上の差があると出来ません。 TEXT(B1-A1,"d:hh:mm")なら出来るのですが日にちを使いたくないのです。 よろしくお願いします。

  • 時刻セルどうしの値の連結について

    例えば、A1とB1にそれぞれhh:mm:ss形式で値が入っています。 それを連結して、A1 & "⇒" & B1 という形でC1セルに入力したいのですが、 これをこのまま実行してしまうと、値が数値に変換されてしまって うまくいきません。 C1に「hh:mm:ss⇒hh:mm:ss」のような形にしたいです。 なにか方法はないでしょうか? よろしくお願いします。

  • エクセルでの時刻計算

    エクセルでの時刻計算(足し算)後の表示方法について教えて下さい。 A1に1450、B1に5430と入力して表示形式には「00":"00":"00」と設定すると、A1には00:14:50、B1には00:54:30と表示されます。 C1に「=A1+B1」と設定すると「00:68:80」と表示されてしまいます。 「01:09:20」と表示させたいのですが…。 A1、B1には「:」を打つのが大変なので省略して、かつ上記のように表示することは可能でしょうか。 どうしても計算式がわかりません。 ご存じの方教えて下さい!!

  • 日付をまたぐ時間計算について

    いろいろ質問がありますが、自分のほしいものと一致する回答が見つけられなかったので教えてください。 エクセルで日付をまたいだ場合の時間計算(引き算)をします。 あるセル(A1)に"1"と入れるとB1にはvlookupで"1"を参照して、予定時刻を表示させます。D1には実際の時刻を入力し、それが予定よりも遅れていればE1に遅れた時間を計算させ(=D1-B1)、遅れがない場合は空白を返します。 予定時刻(B1)が23:30、実際(C1)は翌日00:30の場合 =C1-B1を入れるとD1は-23:00となりました。1時間の遅れなのでこのケースは1:00と表示させたいのですがどうしたらいいでしょうか。 vlookupで参照する元の予定時刻というのは時間だけで日付はありません。(飛行機や電車の時刻表をイメージするとわかりやすいかと思います。日付に関係なく毎日同じ時刻になっている、それと同じです。) C1にはMM/DD_HH/MM形式で入力することもできますが、B1がHH/MM形式だから引き算ができないのでしょうか。B1,C1はそれぞれこの形式のままにしておきたいです。うまく説明できずにすみませんが、アドバイスよろしくお願いします。

  • Excelの時間計算について

    日付と時間が入力されたセルがあるのですが、 そのセル内容を合体させて別のセルに表示しようと思っています。 例)A1に日付「2009/07/11」、B1に時間「15:00」と入力されていた   場合に C1に「2009/07/11 15:00」を表示させ、実時間として   認識させたい。D1に表示された現在の時刻「=NOW()」からの   経過時間をE1に表示させるのが目的。 表示だけでしたらC1に 「=TEXT(A1,"yyyy/mm/dd")&" "&TEXT(B1,"hh:mm")」 と入力すれば解決するのですが、 時間として認識させるにはどのようにすればよいでしょうか? 因みにB1のセルの時刻は書式設定を「yyyy/mm/dd hh:mm」として 表示させると「1900/01/00 15:00」となります。 D1に表示された現在の時間「=NOW()」からどれだけ時間が 経過しているかを計算させ、E1に表示するのが最終目的です。 どなたかお知恵を貸していただけませんでしょうか? よろしくお願いします。

  • エクセルで時間計算

    エクセルで時間計算をしているのですが A1セルに開始時刻  B1セルに終了時刻  C1セルは作業時間   9:00         4:00           7:00 このような表を作っています 「C1」には(B1+12:00)マイナス「A1」と数式があるのですが 「B1」に入る時刻が午後でなく午前11:00だと 「C1」の数式のままでは (11:00+12:00)- 9:00 で 14:00 となってしまいます 「B1」には24時間形式で午後4:00を16:00と入力すればよいのですが 24時間形式を使わず9:00マイナス4:00を正しく計算するには どのような数式にすればよいのでしょうか IF文を使うのかなとも思うのですが 見当がつきません。宜しくお願いいたします。

  • 時刻計算

    1)時刻を2つ入力してかかった時間を計算したい 2つのセルに時刻を 【例】16:00 17:00 のように入力してB1-A1としたら1:00と出てきたのですが、 24時をまたいでしまうと、この方法が使えません。 2)かかった時間を”分”で表示したい セルの書式設定、ユーザー定義で h*60+m"分" としてみましたが、「入力した表示形式が正しくありません」 と出てしまいます。 何か方法はないでしょうか?

  • EXCELでの時間計算(引き算)

    EXCELで時間計算をしたいのですが EXCELのセルって時間ではなく時刻しか入らないのでしょうか? 各セルabc・・・に時間(○○:××=○○時間××分 の意)を入れておき X=a+b+c+・・・ と計算したい。 ただしマイナスの時間も有る。 そのまま行うと24時間を過ぎると25時間は01を表示してしました。 時間ではなく時刻なのか? そこで色々試したところ プラスの時間だけなら セル書式設定で表示形式を ユーザー定義の [h]:mm にして 可能でした。 しかしマイナスの数字が入れられませんでした。 (マイナスの時刻と言うモノが存在しないから?) そもそも、セルの書式設定の表示形式のユーザー定義で設定できる形式って ヘルプかどこかに全部載っていますでしょうか? 人からもらったEXCEL表に たまに見たことも無い書式設定が書いてあることがあり 「そこで初めて知る」見たいなものがありましたので・・・ よろしくお願いいたします。 

専門家に質問してみよう