• ベストアンサー

日にちの計算

エクセルで日にちの計算がしたいのですが ファイルを開くと残り契約日を表示させたいのですが うまくいきません AV61に契約満期日が書いてあるのですが下の式では、・・・・・ DATEDIF(TODAY()-,(AV61),"Y") まったくトンチンカンなので どなたか教えてください。 又残り日数表示を 年 月 日としたいのですが お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

=IF(AV61="","",IF(TODAY()>=AV61,"超過","残"&TEXT(DATEDIF(TODAY(),AV61,"Y"),"0年;;;") & TEXT(DATEDIF(TODAY(),AV61,"YM"),"0ヶ月;;;") & TEXT(DATEDIF(TODAY(),AV61,"MD"),"0日;;;"))) といった具合で。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • srafp
  • ベストアンサー率56% (2185/3855)
回答No.5

> うまくいきません AV61に契約満期日が書いてあるのですが下の式では、・・・・・ > DATEDIF(TODAY()-,(AV61),"Y") ご質問文に書かれたとおりに入力しているのであれば、関数の引数が間違っています  1 『TODAY()-』は「-」をつけずに単に『TODAY()』  2 『(AV61)』は括弧を付けずに単に「AV61」  3 『"Y"』では年数を求めてしまうので、日数を求めるのであれば『"D"』。 よって、 DATEDIF(TODAY(),AV61,"D") と入力すれば、残り日数が表示されます[エクセル2003及び2010で確認済み]。 DATEDIF関数の使い方は↓を参考にして下さい。  http://kokoro.kir.jp/excel/datedif.html  http://www.ecken.co.jp/func/func_datedif.htm > 又残り日数表示を 年 月 日としたいのですが だったら、バグが発生しますが次のような方法が思い浮かびます。 方法1 残期間を「年」「月」「日」に区分けして、連続する複数のセルに表示  例えば、セルA1~F1に次のように入力する   A1 =DATEDIF(TODAY(),AV61,"Y")   B1 年   C1 =DATEDIF(TODAY(),AV61,"YM")   D1 月   E1 =DATEDIF(TODAY(),AV61,"MD")   F1 日 方法2 CONCATENATE関数を使う 具体的には  =CONCATENATE(DATEDIF(TODAY(),AV61,"Y"),"年",DATEDIF(TODAY(),AV61,"YM") ,"月",DATEDIF(TODAY(),AV61,"MD"),"日") このような関数式

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 仮に、本日が満期終了日なら「満期終了」とします。 一例です。 表示したいセルに =IF(AV61>TODAY(),DATEDIF(TODAY(),AV61,"y")&"年"&DATEDIF(TODAY(),AV61,"ym")&"月"&DATEDIF(TODAY(),AV61,"md")&"日","満期終了") といった感じではどうでしょうか? ※ 1年未満・1か月未満は 0年0月のような表示になってしまいます。 ※ 1日の誤差が生じる場合はプラス・マイナスで調整してみてください。 参考になりますかね?m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

残り日数表示を 年 月 日としたいのでしたら、  =DATEDIF(TODAY(),AV61,"y")&"年"&DATEDIF(TODAY(),AV61,"ym")&"月"&DATEDIF(TODAY(),AV61,"md")&"日" でいかがでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • asciiz
  • ベストアンサー率70% (6680/9475)
回答No.1

DATEDIF関数には様々な問題があることがわかっています。 http://www.niji.or.jp/home/toru/notes/50.html だから、DATEDIF関数は捨てましょう。 ではどうするかというと、日付というのは、Excel内部では1日を1.0とする数値で扱われています。 例えば、本日 2012/7/18は、数値の「41108.0」。(=TODAY()の値) 従って、残り日数は  「=AV61 - TODAY()」 これだけで算出可能です。 以上で残り日数は出ますが、それの年月表示は、できません。 1か月が28日~31日と幅がある以上、例えば「120日」がぴったり4か月かというと、そうであることもないことも、あるからです。 そして1年も、うるう年の関係で、365あるいは366日となり、年数ですら確実なことは言えません。 ただ、残り日数をきちんと表示した上で、DATEDIF関数により「約○○年△△月後」みたいな表示をするのは、見やすくなって良いかと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 日数計算について

    Excelの日数計算について質問です。 H18.9.20(A2)からH19.2.22(B2)の期間を月数と残りの日数で表示すると =DATEDIF(A2,B2,"M")&"月" =DATEDIF(A2,B2,"MD")&"日" ここまでは何とかできましたが、 上記期間の1/2、及び1/3の月数と残日数を整数(端数は切捨て)で表示するにはどのような式が必要でしょうか? 月数は=DATEDIF(A2,B2,"M")で求めた月を1ヶ月30日で計算します。 よろしくご指導お願いします。

  • エクセルで年齢の計算の仕方

    エクセルで年齢を計算するのにDATEDIF(A1,today(),"Y")が良く使われますが、 法律上正確に考えるとDATEDIF(A1,today()+1,"Y")が正しいのではないでしょうか。 このようなことを解説したもの(サイト)が見つからないので質問しました。 ちなみに、年齢加算は法律上、誕生日の前日となっています。 それに基づくとDATEDIF(A1,today()+1,"Y")だと思いますが、この書き方だと計算結果に何か問題が発生するでしょうか。

  • エクセル 年数 計算

    エクセルで年数を計算したいのですが、以下の式で#NUMと出ます。 いったいなにが悪いのでしょうか? =DATEDIF(YEAR(TODAY()),YEAR(H24),"y") H24には1983/1/4と入っています。

  • エクセルでの経過日数計算

    エクセルで経過日数計算に「DATEDIF」関数を使用しています。 「DATEDIF」関数では、経過の年数のみとか日数のみでの表示になりますが、 それを「○年○ケ月と○日」と計算させるにはどのようにすれば 良いのでしょうか?

  • 日にちの計算について

       A列      B列 1 2007/12/24 2008/11/15 2 2008/1/20  2008/11/16 とあったとします。 A列が開始日、B列が終了日だとすると、 実際に続いていた日にちを調べたいのですが、 関数でできないでしょうか。。 (イメージはB-Aの日数みたいなことです。) いろいろ調べて、関数はDATEDIF関数を使うんじゃないかと 思うのですが…うまくできません(TT) ご存知の方、知恵を貸して下さい!!よろしくお願いします。

  • 2月29日生まれの人の年齢

    エクセルで =DATEDIF(××,TODAY(),"y") を使って、年齢を計算する式を入れていますが、 2月29日生まれの人が「#value!」の表示で出てきます。 閏日生まれの人だからだということはわかるのですが これを××(セル番地)に入っている元データ(19××/2/29)を修正せずに計算させるには どうしたらいいのでしょうか。

  • 日数の計算

    エクセルの関数で、土・日・祝日を除いた日数を計算したいです。DATEDIFだと、全日数が出てしまいますが、土・日・祝日を除くというのは、どんな関数なのでしょうか?また、組み合わせになるのでしょうか?

  • エクセル表で日にちの計算式

    エクセル表で日にち4/1~4/30までを土日と祝日のお休みを引いた日数を計算したいのですが?そんな関数はありますか? 宜しくお願い致します。

  • エクセルでカウントダウンの計算式

    エクセルで、今日からある日付までの日数を計算して表示させたいです。 例えば、今日から6月30日までの日数は、 =DATEVALUE("2006年6月30日")-DATEVALUE("TODAY") となると思いましたが、これだとエラーが出ます。 正しい計算式を教えていただけるでしょうか。

  • EXCELで年令計算するDATEDIF関数

    EXCELで年令計算する関数DATEDIFを使って、生年月日の記入をすると年令を表示しますが、 記入がないと 111才 になってしまいます。生年月日の記入がないときには 0才 にしたいのですが、わかりません。   たとえば、生年月日のセルを         B12         基準日(関数TODAY()を使用 )を E3         年令表示セルを           B11 にして、セルB11に次の関数を入力します。     =DATEDIF(B12,E3,"Y") & "才" すると、生年月日がセルB12に入っていれば、年令を表示しますが、生年月日の記入がない(空欄)と111才と表示されてしまいます。空欄では0才などにしたいのですが、ご教示をお願いします。 セルの西暦・和暦やTODAY関数が影響するのかわかりません。

このQ&Aのポイント
  • DCP-J987Nの本体初期化の方法について教えてください。お使いのパソコンやスマートフォンのOSはMacで、接続方法は無線LANです。
  • DCP-J987Nの本体初期化方法について詳しく教えてください。お使いのパソコンやスマートフォンのOSはMacで、接続方法は無線LANです。
  • DCP-J987Nの本体初期化に関して質問です。お使いのパソコンやスマートフォンのOSはMacで、接続方法は無線LANです。
回答を見る

専門家に質問してみよう