- 締切済み
エクセルで2つの日付・時間の差を求める
エクセルの関数について教えてください。 たとえば、A列(締切日)に7/15/2009, B列(提出日)に7/16/2009とあります。この差をC列に計算をさせたいと思っています。(B-Aで差は1日)一方、A列に7/31/2009, B列に7/26/2009とあったらB-Aで-5日(マイナス5日の遅れ)、と出したいと思います。 これはどのような関数を使えばよいのでしょうか?よろしくお願いいたします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- shinh
- ベストアンサー率39% (363/926)
#1です。 表示は関係ないのかと思って書きませんでした。が みなさまが言われているように、セルの書式設定で「m/d/yyyy」にしてください。
- MackyNo1
- ベストアンサー率53% (1521/2850)
単純な引き算をするには日付文字列をシリアル値に変換する必要があります。 すでに「7/31/2009」と文字列で入力されているものを、シリアル値に変換したいなら、その列を選択して「データ」「区切り位置」で「次へ」「次へ」で「日付」にチェックを入れその右を「MDY」にして「完了」します。 もし表示を元と同じ「7/31/2009」のようにしたいならセルの書式設定でユーザー定義で「m/d/yyyy」にしてください。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに回答は出ていますが・・・ 質問の内容の日付(7/15/2009)は 7月15日2009年という意味ですよね? もしそうであれば、単純に引き算はできませんので ↓の画像のように別の列にシリアル値に置き換え、それを引き算するようにしてみました。 作業用の列D2セルに =IF(A2="","",TEXT(RIGHT(A2,4)&"/"&LEFT(A2,LEN(A2)-5),"yyyy/m/d")*1) という数式を入れ、列方向と行方向にオートフィルでコピーします。 そして、C2セルに =IF(COUNTBLANK(A2:B2)>0,"",E2-D2) (セルの書式設定の表示形式は「標準」にします) これをオートフィルで下へコピーすると 画像のような感じになります。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m
No.1さんのに加えて、 セルの書式設定 → 表示形式タブ → ユーザー定義 と選択し、種類欄の中に「m/d/yyyy」と記入してください。 ご指定のような「月/日/年」という書き方ですと、文字列として見られてしまうので日付としての計算ができないため、こういった書式設定が必要となります。 yyyy・・・西暦 m ・・・月 d ・・・日 ただし、セルにデータを打ち込むときは「年/月/日」か「月/日」の形としてください(エクセルに日付データとして認識させるため)。 書式設定で指定した形に自動で変換されます。
- gyouda1114
- ベストアンサー率37% (499/1320)
- gyouda1114
- ベストアンサー率37% (499/1320)
- mt2008
- ベストアンサー率52% (885/1701)
気になったのが「7/15/2009」と言う表記。 このセルに入っているのは日付のシリアル値ですか?それとも文字列ですか? シリアル値なら簡単。 普通に引き算の式(例:=B1-A1)を入れ、セルの表字書式を標準、または数値にします。 文字列の場合は補足してください。
- shinh
- ベストアンサー率39% (363/926)
単純に 引き算で出来ました。 =B1-A1