プロが教える店舗&オフィスのセキュリティ対策術

納期管理の仕事をしており、Excelの表で、もともとの注文書の納期と、実際の納期をExcelファイルに記入し、どのような案件でどの程度の差が出るのか検証しています。

今は、(1)注文書の納期、(2)実際の納期、(3)その差をすべて手入力で管理していますが、案件数も多いので、(1)と(2)を入力すると(3)が求まるような計算式を入れて、誤入力を防ぎたいと考えています。簡単な方法がありましたらぜひお教えください。

納期は、年次または月をまたいで変更になる場合もありますので、例えば2012年11月30日の納期だったものが、2012年12月1日に納品された場合、きちんと差は「1」と算出される必要があります。うるう年などの関係もあり、どのように表を作ればよいか、初心者でわかりませんのでお教えいただけますと助かります。Excel表は、年次、月、日のセルがそれぞれ分かれており、ドロップダウンリストで何月、何日というように選べるようになっています。

よろしくお願い致します。

A 回答 (4件)

つまり、添付図のようなお話でしょうか。




まず、予定納期・実納品日をDATE関数で「日付」にしてやります。
予定納期の年月日がABC列に入っているとして、D列に
  =DATE(A3,B3,C3)
同様に、実納品日の年月日がEFG列に入っているとして、H列に
  =DATE(E3,F3,G3)
と置いてやり、あとは単純に「引き算」です。
I列に
  =H3-D3
と書いてやれば、計算してくれます。

途中の「日付に直した列」を置けない・置きたくないのであれば、これらをまとめて
  =DATE(E3,F3,G3)-DATE(A3,B3,C3)
でも可能です。

年月日が空白(選択されていない)状態だとエラーが返りますので、
鬱陶しければ
  =IF(A3="","",DATE(A3,B3,C3))
としてやると、A列が空白なら空白、空白じゃなかったら日付を返します。



純粋に日付で計算しますから、当然ながら閏年も勝手に考慮してくれます。
問題はあり得ない日付を選択した場合です。
例えばリストから選択した結果が「2012/11/31」だったりすると、
「2012/12/1」を返してきますので、入力の際は注意が必要です。
「Excel:月またぎを含む日数の差を求め」の回答画像4
    • good
    • 0

年次、月、日をDATEVALUEで「日付」データに変換すれば、日付同士は、加減算できるので経過日数は計算可能。

(「日付」データは1日が1で表される数値データ、別にある基準日からの相対日数)
こんな感じ、、、
年次、月、日がA~C列、
その日付データをD列、
=DATEVALUE(A2&"/"&B2&"/"&C2)
E列にD列2つの日付の経過日数、
=D3-D2-1
    • good
    • 0

No.1さんが書かれているとおり日付の差分は日付形式のセル同士であれば単純に差を取ることで分かります。


ご質問では年・月・日が別々に入力されているようですので、こんな方法は如何ですか?

1行目をタイトルとして2行目以降に実際の納期が並んでいるとして、
注文書の納期の年・月・日がそれぞれA・C・E列、
実際の納期の年・月・日がそれぞれH・J・L列に入力されている日付の差を出すような場合ですと

=DATEDIF(DATE($A2,$C2,$E2),DATE($H2,$J2,$L2),"D")

という式を各行のどこかの列に入力すると求められます
    • good
    • 0

単に引き算だけでできる。


結果のセルの書式を「標準」にしておけばいい。


=DateDIf((初めの日付),(終りの日付),"D")

でもできるが、こんなの使わなくてもいい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!