• ベストアンサー

エクセルの日付計算

エクセルの日付計算 A1に1ヶ月、2ヶ月と、プラスしたい月や年を記載します。 A2には、ある日の日付が入っています。 A3には、A1+A3で表示させたいのですが・・・・。 1ヶ月=何日ではなく、A2の日付プラス1月で月だけをプラスさせたいのです。 日はそのままで、月だけをかえるにはどうしたらいいでしょうか? おしえてください。

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.5

プラスしたい月数や年数のデータ形式は変えられないのでしょうか? 「1ヶ月」「1年2ヶ月」などは、データの形式が「文字列」なので 計算に使うにはちょっと一手間かかるのですが… A1に入れる値を「1ヶ月」「2ヶ月」のような形ではなく 月数を数値で、つまり1ヶ月→「1」、2ヶ月→「2」、1年→「12」 という形で入力してよいのであれば、A3の式は =DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2)) となります。 ただこれには難点があって(No.2さんもおっしゃっていますが) 例えば1月29日の1ヶ月後は2月29日ですが、今年は28日しかありませんよね。 この場合1月29日の1ヶ月後は3月1日と計算されます。 同様に、1月30日の1ヶ月後は3月2日、1月31日の1ヶ月後は3月3日 と計算されてしまいます。 これを回避しようとすると =IF(MONTH(DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2)))<>MONTH(DATE(YEAR(A2),MONTH(A2)+A1,1)),DATE(YEAR(A2),MONTH(A2)+A1+1,0),DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2))) とすれば○ヶ月後の同日日付がない場合、月末の日付 (1月29日~31日の1ヶ月後は、2月28日) =IF(MONTH(DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2)))<>MONTH(DATE(YEAR(A2),MONTH(A2)+A1,1)),DATE(YEAR(A2),MONTH(A2)+A1+1,1),DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2))) とすれば○ヶ月後の同日日付がない場合、更に翌月の1日の日付 (1月29日~31日の1ヶ月後は、3月1日) となります。

orange965135
質問者

お礼

なるほど。 日付の問題がでてくるのですね。 とりあえずは、29日という異例を除いて表を作ることにしました。 一つ前のお礼にも書かせていただきましたが、 =DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2)) の式をいれた場合、その期間の表示がおかしくなってしまいました。 1/15 と 2/15 の間は31日ですが、2/15に式をいれると、31と表示されるところがエラーになりました。 もし、わかるようでしたら、そちらも教えてください・・・。

orange965135
質問者

補足

すみません。 セルの表示方法をかえたら、きちんとでてきました! これで締め切ります。 とってもわかりやすい回答、みなさまありがとうございました。 これからも他の式は使えそうなので、こちらをベストアンサーに選びたいと思います。 たすかりました。

その他の回答 (4)

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

日はそのままで月だけを変えるでしたね。 その場合にはC1セルには次の式を入力してセルの表示形式でm月d日などとすればよいでしょう。 =DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2))

orange965135
質問者

お礼

この方法で、できました。 が、もうひとつ問題が発生・・・。 B1-C1(上記の式に変更)=30か31 と、実際の月日の計算もベツのセルで表示させています。 エラーがでてしまいました・・・・。

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

例えば1ヶ月をA1セルに入力する際は1と、1年1ヶ月でしたら13と入力するとします。 A2セルには日付で例えば2010/4/8と入力して表示形式の日付で4月8日のように表示させているとします。 A3セルには次の式を入力すればよいでしょう。 =TEXT(DATE(YEAR(A2),MONTH(A2)+A1,DAY(A2)),"m")

  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.2

3月31日の翌月は何月何日、という問題が解決しないと。 とりあえず、3月31日の翌月は5月1日でいいのなら。 =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)) これで出てきます。DATE関数は =DATE(2010,4,31)=2010/5/1 =DATE(2010,13,3)=2011/1/3 と計算してくれますので。

  • chie65535
  • ベストアンサー率43% (8518/19363)
回答No.1

メニューの「ツール」「アドイン」で「分析ツール」をインストールしてから、A3セルに =EDATE(A2,A1) と入力し、セルの表示形式を「日付」にします。

関連するQ&A

  • エクセルの日付計算

    エクセルの日付計算 エクセルの日付計算について教えてください。具体的に言いますと、 3月12日を基本納期として何日早くできたか、何日遅れてしまったがを表示したいのです。たとえば3月12日を基本に3月15日と入力すると「―3日」、3月10日と入力すると「2日」を表示したいのです、「日」の表示は特にいりません、数値だけで良いです。宜しくお願いいたします。

  • EXCELでの日付計算(一番簡単な方法)

    こんにちは。 EXCELでの一番簡単な日付の計算を教えてください。 知りたいのは例えば起算日から6ヵ月後の日付です。 例えば起算日が6月1日なら6ヶ月後が12月1日となるように したいのですが・・・ 自分で作った式は B2に起算日、B3に6ヶ月後の日付を表示させるとして =YEAR(B2)&"/"&MONTH(B2)+6&"/"&DAY(B2) (2007/12/1)と表示 これよりもっと簡単な方法がありますか? 教えてください。

  • ファイルメーカーの日付計算について

    ファイルメーカーPro5.0を使っている初心者です。 どうしても分からない事があります。 例えば2004/9/1と1のフィールドに日付を入力する事により2のフィールドに「H16.10.1」3のフィールドに「H16.11.1」・・・10のフィールドに「H17.7.1」と日付はそのままで月のみを1ヶ月プラスさせて自動表示させたいのですが、どうしてもできません。 計算値自動入力で、「フィールド1 + 31」というように計算してみたのですが、当然31日の月もあれば30日の月もあるので月だけでなく日付もずれてしまいます。 これを月のみを1ヶ月プラスする為の方法を知りたいです。 急ぎで作らなくはならないものがあり困っています。 どうかよろしくお願い致します。

  • エクセルの日付

    エクセルで入力した日付の90日後の日付を表示する 計算式はできるのですが 入力した日付の3ヵ月後の日付を表示する計算式が わかりません。 よろしくお願いします。

  • 3ヵ月後の日付を自動計算しようと思っているのですが、上手くいかなかった

    3ヵ月後の日付を自動計算しようと思っているのですが、上手くいかなかったのでご質問させていただきます。 3ヵ月後の日付をエクセルで自動的に計算させようと思って、いろいろ試行錯誤しているのですが、上手くいかなかったので、ここに質問させていただきました。よろしくお願いいたします。 で、単純に3ヵ月後を計算させようと思い、ExcelのWorkday関数等を利用して、以下のような式を考えました。 =WORKDAY(DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1),1,B1:B38) ここで、セルA1には基準日を入力し、セルB1からB38には国民の祝日を入力しています。 で、これでほとんどの場合で上手くいったんですが、例えば明日8月31日を基準日とした場合、3ヵ月後を、基準日が月末なので3ヵ月後も月末で揃える格好で日付を指定したいと考えており、エクセル関数の組み合わせでとまってしまいました。 つまり8月31日を基準日としたような場合は、求める日付として11月30日(11月30日が土日や祝日の場合は、更にさかのぼって11月29日だったり、11月28日が求める日付)となるようにしたいと考えております。 どなたか、お知恵を拝借できればと思っております。よろしくお願いいたします。

  • エクセルを使って日付の計算をする方法を教えてください

    エクセル素人です。 エクセルを使用した計算表を作っていますが、 ヘルプを見てもよくわかりません。 アドバイスを宜しくお願い致します。 質問1  A1に日付を入力し、B1に期間を入力(年)すると、 C1にその日付を表示できるようにしたいのです。 A1:日付 B1:年数 C1:入力年数後の日付(※結果) (例)2003/7/28 から 2年後の日付は? 2005/7/27 ↑       ↑          ↑    A1       B1         C1 ┌-----------------┐ | A1 | B2 | C3 | └-----------------┘ 質問2 上記と同じ要領で A1:日付 B1:年数 C1:月数 D1:入力年数後の日付(※結果) を表示する方法 ┌--------------------------┐ | A1 | B2 | C3 | A4 | └--------------------------┘ ※1年後、2年後の日付の問題で、いろいろ解釈が あるとは思いますが、下記の解釈でお願いします。 ○ 2003/7/28から1年後→ 2004/7/27 × 2003/7/28から1年後→ 2004/7/28 ちなみにエクセル2000です 宜しくお願い致します。

  • Excelにおける日付

    仕事用に他部署からデータをExcelでいただいたのですが、1万件近くのデータが入っており、このデータの日付が全て7桁の数値として入力されているため、活用できず困っています。 Excelに詳しい方のお知恵を拝借したく、質問に参りました。 行いたい処理は、Excelのあるセルに「20050301」という7桁の数字が入力されている場合、これを別の1つのセル内に「2005年3月1日」という日付として認識させたいのです。 そういったことはできるのでしょうか? セルの書式で、表示形式をユーザー定義・####年##月##日とすれば、「2005年03月01日」と表示させることは簡単にできますが、そうではなく、7桁の数字を日付として認識させ、日付関数を使って日数の計算をしたいのです。 A1セルに「20040301」、B1セルに「20050301」と入力されているとしたら、これをそれぞれ「2004年3月1日」、「2005年3月1日」と認識させ、その間の日数が365日という結果を算出するのが目的です。 ダイレクトにできなければ、途中にいくつかの列を経由しても構いません。 よろしくお願いします。

  • エクセルの日付の差の計算結果の表示

    いつもお世話になっております。 エクセルの日付の差の計算について質問します。 ある日付からある日付をひいて、その答えを○年△ヶ月と表示したいのですが。 どなたかよろしくお願いします。

  • 日付計算

    エクセルで、例えば、セルに、2001/5と2001/10 と入力して、その経過月を計算しようとします。セルのプロパティーは、日付表示です。単純に、2001/10とあるセルから2001/5のセルを引きますと、1900/6 と出てしまいます。日付の場合、その計算はどのようにするのでしょうか?

  • 日付の計算について

    C言語なのですが、 DATE型の日付に1ヶ月または3ヶ月、または6ヶ月の月をプラスするという計算方法はどういうのがあるでしょうか?いったん、tm型に変換してから行うという形が無難なのでしょうか?

専門家に質問してみよう