• 締切済み

DATEDIF関数について

excel2007を使用し、日数の計算をしようとDATEDIF関数を使ってみました。日数に+1をした○日間を出したく、そのように関数を入れて無事に表示されましたが、空白欄には+1が並んでしまうのはやむを得ないのでしょうか? 開始日・終了日+1日(○日間)を出したく、開始日は入力済みのセルもあるのですが、終了日をにゅうりょくした時点で、○日間を表示させたいセルを日数を表示 ということがしたく。 ご存じの方がいらっしゃいましたら、お力を貸してください!!!

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! DATEDIFを使用しないとダメですか? 質問に >開始日・終了日+1日(○日間)を出したく・・・ とありますので、単に日数だけを出す場合です。 データはA列に開始日・B列に終了日を入力するとして、C列に表示すると (データは1行目からとします) C1セルに =IF(COUNTBLANK(A1:B1),"",B1-A1+1) という数式を入れオートフィルで下へコピーでOKだと思います。 ※ ご希望の方法でなかったらごめんなさいね。m(__)m

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

例えばA列に開始日があり、B列に終了日が入力されるとしたら、C1セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(COUNT(A1:B1)<>2,"",DATEDIF(A1,B1+1,"Y")&"年"&DATEDIF(A1,B1+1,"YM")&"ヶ月"&DATEDIF(A,B1+1,"MD")&"日")

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

>DATEDIF関数を使ってみました。日数に+1をした○日間を出したく >そのように関数を入れて無事に表示されましたが、空白欄には+1が >並んでしまうのはやむを得ないのでしょうか? DATEDIF関数でどのように1を加えたのかわかりませんが IF関数を使えば空白にすることは可能です =IF(終了日のセル="","",DATEDIF関数を使い1を加えた式) 終了日のセルが未入力の時は、空白を返し,入力後計算結果を返す。

関連するQ&A

  • ExcelのDATEDIF関数にて

    Excel2002です。 DATEDIF関数とTODAY()関数を使って 2004/1/1から今日までの日数を出すにはどのようにセルに書けばよいのでしょうか教えて下さい。 =DATEDIF(2004/01/01,today(),"D") と書くと36173と言う数字が帰ってきてしまいます。 よろしくお願いします。

  • DATEDIF関数を使うには?

    ある質問を見ていて、日付と日付の間の日数を求める関数、DATEDIFを使うといいという回答を見ました。 「そういう関数あるんだ」とおもい、試してみたら、わたしのEXCELでは使えないようなのです。 =datedif(A1,B1,"m") と入力すると、#NUMという表示になります。 追加アドインなど必要なのでしょうか? WinXp Excel2003です。

  • DATEDIF関数

    少し前にもDATEDIF関数の事で質問を出したのですが、 その作業中のことです。 開始日から終了日までの、期間月数を出すため、 =DATEDIF(N40-DAY(N40),DATE(YEAR(N41),MONTH(N41)+1,0),"M") という数式を入れています。 (N40が開始年月・N41が終了年月です) 年月のみの入力なので、開始年月は日を相殺し、終了年月はその月末を出すようにしてます。 で、大抵の値では上手くいくのですが、 開始年月 2000/9 終了年月 2004/4 の時だけ上手くいきません。 本当は「44」という値が欲しいのに、「43」になります。 どうやら終了年月が絡んでいるっぽいのですが、何が悪いのかが分かりません。 分かる方がいらっしゃったら教えて下さい。

  • 関数を教えて下さい

    Microsoft Office Excel 97-2003 を使用しています。 (1) 期間の開始日から終了日までを求めたいのですが,開始日が含まれないため 1日少なく結果が出てしまいます。 式に +1 とすればよいのですが,きちんと式に組みこまれたような関数はないでしょうか。 (2) また,開始日や終了日が空白でも,日数が入ってしまい, 開始日や終了日が空白の場合は空白にしたいです。

  • エクセル2007で、DATEDIF関数が認識しない

    現在、パソコンにエクセル2007が入っています。 本(よくわかるエクセル2007)を参照に、勉強しているのですが、DATEDIF関数が認識しないようなのです… =DATE まで、直接入力すると、選択できる関数として、「=DATE」と「=DATEVALUE」しか表示されません。 ※ 添付画像は、=DAまでを入力した時の選択できる関数です。 =DATEDIFが出てこないので、直接、=DATEDIFまで入力し、=DATEDIF(開始日,終了日,"単位")を入れて、実行キーを押すと、当然ながら?#NAME?と出てしまいます。 そこから想像するに、自分のエクセル2007には、=DATEDIF関数は入っていないのか、又は、=DATEDIF関数が使えるようになっていない?と想像したのですが、解決方法が解りません。 原因と解決策の解る方、是非、アドバイスください。 ※ 解決策…自分のエクセル2007には、=DATEDIF関数は入っていない場合、=DATEDIF関数を追加する方法 ※ 解決策…、=DATEDIF関数が使えるようになっていない場合、使えるようにする方法 ※ 現在、OS:Windows7、エクセル2007を使用しています。

  • DATEDIF関数について

    賞味期限表を作っています(A8:飲み物名/B8:賞味期限日/B1:日付(TODAY関数仕様) 賞味期限残日数という別の表に、=DATEDIF($B$1,B8,"D")の関数を入力して日数が出るようにしたのですが、本日もしくは賞味期限日を含む日数が出ます。できれば、それを含まない表示にしたいです。 例)本日:2008/12/17 賞味期限:2009/1/17ならば 残日数を30と出るようにしたいです。よきアドバイスお願いします。 ちなみにエクセル2007と2003では残日数に変化がありますか? 2007では、31 2003では、32とでるのですが、勘違いだったらすみません。

  • エクセル2007の関数 DATEDIF

    現在の状況は 関数の挿入をクリックして、 「関数の分類 すべて表示」で検索しても、DATEDIFが見つかりません。 「何をしたいか」に DATEDIFを入力しても、DATEDIFが見つかりません。 セルに直接 =DATEDIF(*,*,"*") 入力すれば正常に結果は表示されます。 office2007の修復をしても改善できません。 質問 「直接入力」する方法では未熟なために、引数の順番を間違えたりするので、できれば 「関数の挿入」機能を使いたいです。 添付図の赤色矢印の位置に DATEDIF を表示させる方法を教えて下さい。

  • DATEDIF関数について

    「よくわかるExcel2013応用」FOM出版というテキストを使ってエクセルを自習しています。 テキストにDATEDIF関数というのが出てくるのですが、入力しても#NAME?と表示されてしまいます。テキストには DATEDIF(古い日付,新しい日付,単位)と説明してあり、例題として現在の日付と入社年月日を引数として勤続年数を求めるようになっています。 関数の挿入ボタンをつかってすべての関数を表示させてもリストにDATEDIFというものが出てこないのでそこらへんから何かおかしい感じがするのですが、どなたか原因、詳細などおわかりになられる方がいらっしゃいましたらご教示願えると助かります(ちなみにエクセルはテキストと同じバージョン2013を使用しております) どうぞよろしくお願いいたします。

  • EXCEL エクセル 年齢 DATEDIF関数 空白の場合

    EXCEL2007 年齢を計算するのに A1セルに 生年月日を入力、 B1セルに年齢  =DATEDIF(A1,TODAY(),"y")で  満年齢がでると思うのですが A1セルが空白の場合 109となります。 A1セルが空白の場合 B1セルも空白になる関数を教えてください。 本を見ながらの初心者です。よろしくお願いします。

  • VBAでDATEDIF関数の埋め込み

    VBAでエクセル関数のDATEDIF関数でJ3から始まりその列の最後に入力された次の空白セルに関数を埋め込みたいのですがうまくいきません、どなたか教えてください。 現在の式は Range("J"&NewDataRow)、Value=,=IF(DATEDIF(E3,Today(),"Y")>80,"大型中止",OK)ですがE3の結果が出ます、列には途中違う計算式も入っていくことになるので入力した行の計算結果がほしいのです。よろしくお願いします

専門家に質問してみよう