• ベストアンサー

エクセルでの日付、時間の計算

imogasiの回答

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

面倒な質問だな.普通の問題なら、=A2-AIのような引き算ですむパターンだが、 (1)元データが文字列 (2)「経過日付を計算できるような」といっていながら、「3.2日」と時間を考えた 小数点つきの日数を希望している点(下) (3)時刻表示部がAM、PMと違ったものである点 で初心者向けのやさしい問題ではないと思う。 下記でよいかどうかよくわからない(質問のデータ例が2例で少なく、他のデータでうまく行くかどうか)が上げてみる。 ーー 文字列にするため、先頭にシングルコーテーションを入れてテストデータを作成。 A1文字列 '2015/11/16 9:09:49 A2文字列 '2015-11-19 01:38:10 PM C1に =DATEVALUE(A1)+TIMEVALUE(RIGHT(A1,8)) C2に =DATEVALUE(A2)+TIMEVALUE(RIGHT(A2,11)) C1,C2の書式をユーザー定義で yyyy/m/d h:mm:ssに設定。 C1,C2の見た目 2015/11/16 9:09:49 2015/11/19 13:38:10 =ROUND(C2-C1,1)を空きセルに入れて  結果 3.2 書式は数値 (注意しないと他のセルでも、日付書式が移る場合があるので注意。1900なんて出たらそれです)) ーーー 今回は式の見た目が複雑になるので、LEFT関数の文字数の8,11は目視でいれた。 関数でやる方法もある。 例 =LEN(A1)-FIND(" ",A1)  で8 これを元の関数の8の部分に、入れ子にすれば、目視して入れないでできる。 エクセルでの、日付シリアル値と時刻値の仕組みは質問者は、判っているのかな。 初めてなら、エクセルでの大切なことなので、是非、WEBで「エクセル 日付シリアル値」などで検索して勉強のこと。

isora323
質問者

お礼

回答ありがとうございます。 おかげ様で解決することができました。 日付シリアル値などの知識もないため、検索し、勉強します。 今後のフォローまで書いていただきましたのでベストアンサーとさせていただきます。 ありがとうございました。

関連するQ&A

  • Excelで 時間計算するには?

    ExcelのA列に、たとえば、時刻「AM8:50」と入力して、入力されたAに、任意の時間(2時間後、とか30分 後)の時間を計算して、B列に表記するには、どうすればいいですか? もちろん表記も「AM、あるいはPM」です。

  • Excel(エクセル)で指定期間経過後の日付を計算させたいです。

    Excel(エクセル)で指定期間経過後の日付を計算させたいです。 「この日から何日後は○月○日」、この計算をエクセルにさせたいのです。 ご教示お願いします。

  • 日付の変換

    以下のような文字列の日付情報があります。これをできるだけ簡単な方法で日付形式に変換する方法を御教示いただけないでしょうか。今は文字列の月名→数字に変更して、Date関数で合体し変換しています。また、さらに難しいのが時間の部分です。 エクセルの機能でできる方法がありましたらお教えください。 Jun 7 2006 2:08PM Jun 8 2006 10:00PM Jun 8 2006 10:41AM Jun 8 2006 8:10PM Jun 7 2006 8:41PM

  • エクセル2007で年月日時分秒の入力ができない

    エクセルで期間計算をする時に年月日時分秒の入力が正しくできません。 月日、時刻、年月日の入力は適切な書式で入力され、引き算で期間の日数や時間数を計算できます。しかし、年月日時分、年月日時分秒の入力が計算できる書式で入力できません。入力後の書式設定が標準のままです。 <例> 2012/7/15 5:45と入力しますと2012/7/15 15:45と左詰のままでセルに2012/7/15 5:45と入力され表示形式は標準のままです。年月日時分秒の入力が標準(文字列?)にならず計算できる書式、たとえばユーザ定義のyyyy m d h:mmなどになる入力のしかたを仕方を教えてください。年月日と時分秒の間は半角スペースです。よろしくお願いいたします。

  • Excelの時間計算(年・月・日 別々のセルで…)

    Excelの時間計算で悩んでいます。 2つの異なる日付(年、月、日別々のセルに入力したもの)の 日数の差を関数で表示させたいのですがうまく行きません。 例えば、 A列にスタート年、B列にスタート月、C列にスタート日、D列にエンド年、E列にエンド月、F列にエンド日を入力し G列にエンド年月日-スタート年月日の日数させたいと考えています。 +----A----B----C----D----E----F----G 1   2008      2      1   2008      2     28     24 G1にDATE(D1,E1,F1)-DATE(A1,B1,C1)の数値を表示させたいのです。 ひとつのセルに日付形式で年月日を持たせれば DATEIF関数で実現可能なのは判りましたが 運用上、年月日を別のセルにして管理したいと考えています。 どなたかお解りになる方、いらっしゃいませんでしょうか。

  • エクセルで日付の計算

    エクセル初心者です。私は、エクセルである免許の有効期間などの管理をしています。有効期間は5年間なので、次のように 免許年月日の日付を「2001/6/15」と入力し 表示はH13.6.15させています。 次に、免許の有効期間のセルのところを「H18.6.14」に免許の有効期間を自動計算するには、どうすればいいのでしょうか 色々と調べたのですがわかりません、宜しくお願いします。  

  • Excelの時間の計算

    時間の計算の算出方法について質問です。 セルE16に 2015/11/25  17:59 という日付けと時間が入力されています。 セルH16に同じような形式で日付けと時間が入力された場合 セルK16に経過時間を表示する方法を教えて下さい。 ちなみにK16の経過時間は30分以上いくことは絶対にないので 分表示のみで大丈夫です(○○min と表示したい) またE16、H16ともに、マクロにて、セルの所でダブルクリックすると日付けと時間が 入るようになっています。 理想としてはH16の所でダブルクリックしたときにH16に日付けと時間が入力され K16に経過時間を表示という形にしたいです。 このような計算をした箇所が20行あります。 列は変わりません。 16から35行まで。 ご指導の程、宜しくお願いします。

  • エクセルでの日付の計算方法

    A列、B列に以下のデータが入っています。 契約日■■■申込日■ 20020402■20020207 20020403■20020207 20020404■20020207 20020405■20020207 20020412■20020207 20020421■20001202 20020419■20020106 20020511■19990315 20020423■20020411 このデータ、実は日付なのですが、申込日から契約日までの日数を 計算したいのです。(A2-B2の計算を日付でしたいという意味です) ちなみにセルの書式設定で日付を指定すると、################と 表示されてしまいます。 どなたか方法をご教授ください。

  • 日付計算

    エクセルで、例えば、セルに、2001/5と2001/10 と入力して、その経過月を計算しようとします。セルのプロパティーは、日付表示です。単純に、2001/10とあるセルから2001/5のセルを引きますと、1900/6 と出てしまいます。日付の場合、その計算はどのようにするのでしょうか?

  • 日付から求める計算方法

    はじめまして、こんにちは。私はエクセルの初心者で、初歩的な質問ですみませんが、教えてください。 現在、下記のようなリストがあります。 B列の訪問日数は2008/08/01と2008/08/03と2008/08/06の3日間です。 C列の実稼動日は、終日で1日、半日で0.5日と計算し、2008/08/06は半日なので、実稼動日は2.5日です。 といったB列日付を元に訪問日数の合計、 B列日付とC列の稼動区分を元に実稼動日を計算して、F列に各結果を表示させたいと思っています。 ---------------------------------------------------------------- A列    B列   C列    D列    E列    F列 番号 訪問日  稼動区分  時間  訪問先 訪問日数 3 001 2008/08/01 終日  09:00-12:30 佐々木商事 実稼動日 2.5 002 2008/08/01 終日 15:00-16:00  井口(株) 003 2008/08/03 終日 10:00-11:00  山本(株) 004 2008/08/06 半日 10:00-11:00  浜田商事 005 2008/08/06 半日 11:30-12:00  木谷運輸 006 2008/08/06 半日 13:30-14:00 山本(株) ---------------------------------------------------------------- 関数を使って(COUNTIF,IF(COUNTIF)など)いろいろと試したのですが、どうもうまくいきません。 そこで、VBAでも関数でも結構です。 どなたか解決方法を教えてください。 よろしくお願いします。