- ベストアンサー
エクセルで日付・時刻の差を知りたい
いつもお世話になってます。 早速質問ですが、エクセルで日付と時刻の差を出す関数や数式を知りたいです。 2つのセルにそれぞれ日付を入力した場合や、時刻をそれぞれ入力した時の差の出し方はわかるのですが、2つのセルにそれぞれ日付・時刻を入力し、その差を出す方法がわかりません。 そもそもそういった方法が可能なのでしょうか。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
エクセルでは日付時刻シリアル値という仕組みがあって、これを知らないがためにでる質問では無いか。2セルの値が日付時刻シリアル値で入っておれば、2セルの値の引き算で質問者の答えが出るはず。 このためにこそ日付時刻シリアル値は考えられたのではと思うぐらい。 後は差のセルの表示形式をどうしたいのかないてない、手抜きの質問表現。 日付セルの表示形式を当たってみよ。[h]という話題(24時間を越えても1日に繰上げしない表示)だけが新しいもの。
その他の回答 (5)
- 374649
- ベストアンサー率38% (203/527)
>エクセルで日付と時刻の差を出す Excelも便利になって全て関数で処理すればという風に思われていますが基本的なことを理解すれば迷うことはありません。 Excelでは年月日は整数、時間は少数点以下の数値で表してます(1234、5678)絶対値で1234を取り出せば年月日を計算(10進法)できますし0.5678(整数値を引いた残り)を計算すれば時間が求められます(但し60進法)。 それぞれ適切な関数が用意されているので適時使えば計算できますがデータ入力するときは決められた形式で入力しなければなりません。 Excelの基本を理解してください。
お礼
回答ありがとうございます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No3です。日付と時刻の差を求める場合に回答3のように年、月、日、時、分で求めることが必ずしも正しくはないですね。 年や月はそれぞれによって日にちが違いますので、日、時、分で表すのが正しいでしょう。 例えばA1セルに古い日付と時刻が、B1セルに新しい日付と時刻が入力されているとしたら回答No3のように計算するのでしたら次の式になりますね。 =DATEDIF(A1,IF(TIME(HOUR(B1),MINUTE(B1),0)<TIME(HOUR(A1),MINUTE(A1),0),B1-1,B1),"D")&"日"& TEXT(B1-A1,"h時間mm分") 別な式として次の式でもよいでしょう。 =INT(LEFT(TEXT(B1-A1,"[h]:mm"),FIND(":",TEXT(B1-A1,"[h]:mm"))-1)/24)&"日"&MOD(LEFT(TEXT(B1-A1,"[h]:mm"),FIND(":",TEXT(B1-A1,"[h]:mm"))-1),24)&"時間"&MID(TEXT(B1-A1,"[h]:mm"),FIND(":",TEXT(B1-A1,"[h]:mm"))+1,2)&"分"
お礼
回答ありがとうございます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばA1セルに2010/12/21 13:55と入力しB1セルに2011/12/22 12:50と入力したとします。 必ずA列にデータがB列のデータより古い日時とします。 そこでC1セルに=B1-A1と入力すれば1900/12/30 22:55のように表示されますね。これでは正確な日付と時刻の差を表しているとは言えませんね。 次のような式にしてはどうでしょう。 =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"月"&DATEDIF(A1,IF(TIME(HOUR(B1),MINUTE(B1),0)<TIME(HOUR(A1),MINUTE(A1),0),B1-1,B1),"MD")&"日"& TEXT(B1-A1,"h時間mm分") これでC1セルの表示は1年0月0日22時間55分のようになります。 また次のような式にすれば =DATEDIF(A1,B1,"Y")&"/"&DATEDIF(A1,B1,"YM")&"/"&DATEDIF(A1,IF(TIME(HOUR(B1),MINUTE(B1),0)<TIME(HOUR(A1),MINUTE(A1),0),B1-1,B1),"MD")&" "& TEXT(B1-A1,"h:mm") 1/0/0 22:55のような表示になります。
お礼
回答ありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
>2つのセルにそれぞれ日付・時刻を入力し、その差を出す方法 具体例がないので(日本語の説明が不十分なので),いったいどんな具合にデータを入れていて何が計算出来なくて困っているのか,ご質問の説明が足りてません。 こういうことですか?ケース1(簡易版) A1セルに 2011/12/21 23:34 と「日付時刻」を記入 B1セルに 2011/12/23 4:25 と「日付時刻」を記入 C1セルに =B1-A1 と記入し,セルの書式設定の表示形式のユーザー定義で d日h:mm と設定する ケース2(簡易版) A1に 2011/12/21 B1に 23:34 と「日付」と「時刻」がある A2に 2011/12/23 B2に 4:25 と「日付」と「時刻」がある B3に =A2+B2-A1-B1 と記入し,セルの書式設定の表示形式のユーザー定義で d日h:mm と設定する
お礼
回答ありがとうございます。
- ytaste
- ベストアンサー率22% (47/206)
質問の意味がわからないです。 たとえば、 セルA1に12/22 セルB1に00:30 と入力してあったとして、 質問者さんは、 A1とB1の差の答えとしてどのような答えになることを期待しているのでしょうか?
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。