• ベストアンサー

各セルに、翌月、前月、翌々月・・・当月を表示したい。

質問 です セルE3に翌月を表示し、F3に前月を表示し、セルG3に翌々月を表示し、セルH3以降はO3まで一月ずつ加算し、セルP3は当月を表示する方法を教えてください。(セルE3からP3までのセルの表示を「日付」にし、それぞれに関数を入れれば済みますか。そうでしたら、その関数を教えてください。VBAが必要でしたら、その部分を教えてください。) 月が替わる都度、自動で各セルも繰り上がるようにしたいのです。 例 です 今月が8月ですので、セルE3には『9月』と表示し(『』は表示しません)、セルF3には『7月』と表示し、G3には『10月』、H3には『11月』・・・O3には『6月』と表示し、P3には『8月』と表示させたいのです。 そして、日数が過ぎて9月に入った場合は、自動でセルE3には『10月』と表示させ、以降のセルも計算により繰り上がった月表示させたいのです。 状況と理由 です エクセル2002を使用しています。 [データ]-[入力規則]-[リスト]を使用して、セルに簡単に入力できるようにしています。 そのセル(セルA3)に入るのは、月です。 リストはセルE3、F3、G3、H3・・・P3に入力しています。 現在は手入力でテキスト形式で入力しています。 頻繁に使うのは翌月と前月です。 リストを使うと、候補の一番上はセルE3に表示されているもので、その下にはセルF3に表示しているものが来ます。 そこで、常に自動で並べかえられるならば、便利だと思ったのです。 よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

>そのセル(セルA3)に入るのは、月です。  A  B  C  D  E   F  G  H ・・・O  P 8月         9月 7月 10月 11月  6月 8月 E3 =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1),"m月") F3 =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())-1,1),"m月") G3 =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+COLUMN(B1),1),"m月") O3まで右へコピィ P3 =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),1),"m月") ででると思いますが >頻繁に使うのは翌月と前月です。 なので複雑な順番にしていると思いますが、人が使うには順に並んでいるほうが良くないですか? E3 =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+COLUMN(A1)-2,1),"m月") でPまで右へコピィで、先月から順になりますが。

pooh-03
質問者

お礼

ありがとうございます。 大変参考になりました。 >人が使うには順に並んでいるほうが良くないですか? リストの表示枠が狭く、順に並ばせると、前月はスクロールして一番下出さなきゃならないのでこうしてみました。 でも、リストの最初の月を変更すれば、うまく行くかもしれません。 ありがとうございました。

その他の回答 (4)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.4

#3です。 補足します。 H3以降はH3の式を右フィルして下さい。

pooh-03
質問者

お礼

ご丁寧にフォローしていただいてありがとうございます

  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

E3 =IF(MONTH(TODAY())+1=13,1,MONTH(TODAY())+1) F3 =IF(MONTH(TODAY())-1=0,12,MONTH(TODAY())-1) G3 =IF(E3+1=13,1,E3+1) H3以降 =IF(G3+1=13,1,G3+1) P3 =MONTH(TODAY()) でセルの書式設定をG/標準"月"にします

pooh-03
質問者

お礼

ありがとうございます。 こういう方法もあるんですね。 勉強になりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 E3は、=TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1),"m月") F3は、=TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())-2,1),"m月") G3は、=TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())+COLUMN(B1),1),"m月") H3以降は、G3を右方向にコピーして下さい。

pooh-03
質問者

お礼

ありがとうございました。 これなら書式設定はいらないのですね。 大変参考になりました。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

=DATE(YEAR(NOW()),MONTH(NOW())+XXXXX,1) XXXXXのところに-1,+1などを突っ込めば、前月、翌月などの1日が 出てきます。後は「書式」「セル」の「日付」でコントロールすれば オッケー。月だけしか表示したくないなら、「ユーザー定義」で「m月」 と入力してやれば「月」しか出てきません。 ちなみに「+12」とすれば、ちゃんと翌年の同月が出てきます。

pooh-03
質問者

お礼

ありがとうございました。 解決方法を教えていただいて ほっとしました。

関連するQ&A