• ベストアンサー

カレンダー通り○ヶ月後をだす関数

H17.12.31の12ヶ月後はH18.12.31 H17.12.31の13ヵ月後はH18.1.31 H17.12.31の14ヵ月後はH18.2.28 H17.12.31の26ヶ月後はH20.2.29 H17.12.20の3ヵ月後はH18.3.20 A1セルに日付、B1セルに○ヶ月後の期間、C1セルに「 A1 の B1 ヶ月 後」を表示させるにはどうしたらいいのでしょうか? EOMONTHやEDATE以外で何か使うのでしょうか?

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

もっと簡単な方法があるかも知れませんし、例にあげられたものしか検証してませんけど。 A1 に H17.12.31 B1 に 13 C1 に =IF(MONTH(A1)=MONTH(A1+1),DATE(YEAR(A1),MONTH(A1)+B1,DAY(A1)),DATE(YEAR(A1),MONTH(A1)+B1+1,0)) A1はシリアル値である必要があります。 B1は数値である必要があります。 「ヶ月後」としたいならセルの書式設定のユーザー定義で 0"ヵ月後" とすれば良いでしょう。 C1が数値や西暦表示になる場合はセルの書式設定で日付(ge.m.d)を選べばOKです。

toyo-ta
質問者

お礼

ありがとうございました。助かりました。

その他の回答 (1)

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.2

こんにちは~ エクセルですよね? > H17.12.31の13ヵ月後はH18.1.31 > H17.12.31の14ヵ月後はH18.2.28 H17.12.31 の 13ヵ月後は H19.1.31 H17.12.31 の 14ヵ月後は H19.2.28 ではないでしょうか。 EDATE関数を使わずに、ということでしたら =MIN(DATE(YEAR(A1),MONTH(A1)+B1,DAY(A1)),DATE(YEAR(A1),MONTH(A1)+B1+1,0)) と C1セルに入れてみてください。 C1セルのセルの書式設定~表示形式は 「日付」にしてください。

toyo-ta
質問者

お礼

自分の知っている関数(EDATE関数)で分からなかった為、質問しました。質問自体に間違いがあった上、質問の仕方も分かりにくい説明でしたね。すいません。でもありがとうございました。ポイントは回答順にさせて頂きました。

関連するQ&A

  • IF関数の中の多数のIF関数をすっきりさせたい!

    Excel2010です。 excelで条件に一致したセルの隣のセルを取得するにはVLOOKUP関数を使えばできますが、 条件に一致したセルの隣のセルに入っている計算式を利用することはできますか? 現在、IF関数で下記のようなながったらしい条件式が入っているのですが、これをもっとすっきりしたく、 何かいい方法はないかと思い相談させていただきました。 =IF([@基準月]="","",IF(COUNTIF([@請求形態],"*前*"),[@基準月],IF([@請求形態]="年1後",EOMONTH([@基準月],-11),IF([@請求形態]="2ヶ月後",EOMONTH([@基準月],-1),IF([@請求形態]="3ヶ月後",EOMONTH([@基準月],-2),IF([@請求形態]="6ヶ月後",EOMONTH([@基準月],-5),"")))))) (請求形態に"後"が含まれる式は別に作ってます)        A       B       C       D 1    基準月   請求形態   期間始    期間終 2    H26.2    6ヶ月後    H25.9     H26.2 3    H26.3    年1前 H26.3     H27.2 4 A列,B列に値を入れるとC列,D列が自動で入るようにしたいのです。 請求形態の種類は年1前、年1後、2ヶ月前、2ヶ月後・・・・と8種類あります。現在作っているIF関数でも別に問題はないのですが、もっとすっきりできるものならさせたいです。 どなたかお分かりになる方がいらっしゃいましたら教えてください。 宜しくお願い致します。

  • エクセルでの年数、月数、日数の差引

    エクセルの日数等の計算についてです。 A1セルに「H20.10.15」の日付データ、 B1セルに「H1.4.1」の日付データを入力します。 C1セルにて、「=DATEDIF(B1,A1,"Y")&"年"&DATEDIF(B1,A1,"YM") &"ヶ月"&DATEDIF(B1,A1,"MD")&"日"」を入力し、A1とB1の間の期間 「19年6ヶ月14日」を得ました。 C1で得たこの「19年6ヶ月14日」にさらに期間を足したいのです。 例えば、A2セルに「1」、B2セルに「7」、C2セルに「19」を入力し、 「19年6ヶ月14日」に「1年7ヶ月19日」を足した期間値である 「22年2ヶ月3日」をD2セルに表示させる方法はありますか。 繰り上がり(13ヶ月→1年1ヶ月など)の処理をうまくやる方法が あればいいのですが。 どなたかよろしくお願いします。

  • エクセル 隣のセルに1ヵ月後を表示+α

    エクセルにおいて、隣のセルに1ヵ月後の日付を表示させる為、『=DATE(YEAR(A2),MONTH(A2)+1,DAY(A2))』もしくわ『EDATE(A1,1)』を入れてますが、土日祝日を除いた日付を表示させる方法はありますでしょうか?単純に1ヶ月ではなくて休日は飛ばした1ヵ月後を表示したいのですが行き詰ってます...。 よろしくお願い致します!

  • エクセル 7カ月15日を7.5カ月にしたい

    セルA1に「入居日」 セルB1に「退去日」 セルC1にA1とB1から関数を入れて、「入居日と退去日の間の期間」を表示させています。 (ちなみにC1には現在「=DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日"」が入っています。) ここで解決したいのが、セルC1には現在「7か月15日」と出ています。 これを「7.5(か月)」と表示させたいのですが、どうしたらいいのでしょうか? なお、セルの書式設定で表示形式をさわる必要はありますか? 出来る限り簡単に教えていただけますと幸いです。 宜しくお願い致します。

  • 日付関数でご教示ください。

    エクセルで、どんな日付を入れても、その横のセルにその年の12月31日を表示するような関数はあるのでしょうか。 例えば セルA1に、H21.3/14 ならB1に、H21.12.31 セルA2に、H18.6/20 ならB2に、H18.12.31 というような表示にする関数です。 どなたか、よろしく、お願いいたします。

  • エクセルのIF関数について

    =IF(L2="","EDATE(J2,K2)","EDATE(L2,K2)") という数式で L2が空白の場合、J2の日付からK2の月分だけ経過した日付を表示。 空白でない場合、L2の日付からK2の月分だけ経過した日付を表示したいのですが、 セルには直接『EDATE(J2,K2)』という数式が表示されてしまいます。 空白にしたら『EDATE(J2,K2)』、日付を入れたら『EDATE(L2,K2)』になるので一応IF関数は生きてると思うのですが、中で計算をしてくれていません。 解決方法をぜひご教授くださいませんか。

  • EDATE関数に気づかない相手を助けたい

    EOMONTHやEDATE関数をよく使います。 ファイルを電子メールで相手に届けて、さらに その相手が、私の知らない方にファイルを転送・共有することも想定していると、 相手が EDATE関数をアクティベイトしていない 場合は、日付部分が読めずに不快な思いをするようです。 でも便利な関数なので使いたいのですが、相手に設定をさせずとも、自動的にEDATE関数がきちんと はたらくような方法を おしえてください

  • 特定期間の計算についてご教授ください

    A1セルに入れた8桁の数字(日付YYYYMMDD)の文字列が入力されていて 右から1.2桁の数字DDが1から15(1日から15日)の場合MM(当月)の2ヶ月先の末日を求め 右から1.2桁の数字DDが16から31(16日から月末)の場合MM(当月)の3ヶ月先の末日を求める A1セル「20140204」を入力 B1セル =IF(MID(A1,7,2)<=15,EOMONTH(A1,2),EOMONTH(A1,3)) B2セル =IF(MID(A1,7,2)<=15,EOMONTH((MID(A1,5,2),2),EOMONTH((MID(A1,5,2),3)) B3セル =IF(MID(A1,7,2)<=15,EOMONTH(DATE(INT(A1/10000),MOD(INT(A1/100),100),MOD(A1,100)),2),EOMONTH(DATE(INT(A1/10000),MOD(INT(A1/100),100),MOD(A1,100)),3)) B1、B2、B3のような式で試してみましたが どうしても最後EOMONTHのところがうまくできません どなたかご教授くださいますようよろしくお願いいたします

  • excelカレンダー 今月以外データ 書式変更

    excelで作成した月表示のカレンダー A1セルに年 C1セルに月 I2セルに=DATE(A1,C1,1) 【日付表示】 A5セルに=I2-WEEKDAY(I2)+1 C5セルに=A5+1・・・K29+1 今月以外の日付の色を変えるため 【条件付き書式】 数式を使用して、書式設定するセルを決定 =MONTH(A5)<>$C$1 =$A$29:$N$29,$A$11:$N$11,$A$17:$N$17,$A$23:$N$23,$A$5,$C$5:$N$5 カレンダー枠に挿入した「LTIおよびRi」の積算日数 LTI日数 2017/01/01 : B6セル =A5-40483        01/02 : D6セル =B6+1・・・        01/08 : B12セル =B6+7         01/09 : D12セル =D6+7・・・ RI日数 2017/01/01 : B7セル =A5-41779        01/02 : D7セル =B7+1・・・        01/08 : B13セル =B7+7        01/09 : D13セル =D7+7・・・ 上記、「LTIおよびRI」の文字や数値の書式を 今月以外の日付の色変更と同期してグレー表示させたいのですが 良い方法があればお力添えいただけると幸いです。(^^ゞ

  • エクセル関数で日付データを扱うには

    SUBSTITUTE関数を使って以下のような条件で得たい結果を求める場合 C2セルに「=SUBSTITUTE($B2,$B$1,$A2)」と入力すると「今日の日付は42875です」 という表示になってしまうのですが、日付形式で「今日の日付は2017/5/20です」 と表示させるにはどうしたらいいでしょうか? ■条件 得たい結果(C2セル) 今日の日付は2017/5/20です A2セル 2017/5/20 B1セル 置換 B2セル 今日の日付は置換です