• ベストアンサー

Excelで任意の月末表示について

いつもお世話になってます。 WIN2000 Office2000です。 月末の表示のさせ方は過去ログでわかったのですが 締め日が会社の都合によるためどのように引っ張っていいかわかりません。 具体的には A1(入力セル) B1   Cセル    11/10    12/31  2/28 1ヵ月後、2ヵ月後の入れ方はわかるのですが これを任意の月末に変えたいのです。(12月なら28日とかですね) A1に入力する日付がばらばらなためVLOOKUPも使えません。 よいやり方があればぜひご教授ください。 よろしくお願い致します。   

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 >A1に入力する日付がばらばらなためVLOOKUPも使えません。 日付そのものではなく、月の値で検索すればいいのでは? それなら12種類で済みます。 例えば、どこかに、 1 31 2 28 ・・・ 12 28 のように、各月の締めの日の対応表を作成しておきます。 そして、1ヵ月後の月末なら、 =DATE(YEAR(A1),MONTH(A1)+1,VLOOKUP(MOD(A1,12)+1,対応表,2,FALSE)) 2ヶ月後の月末なら、 =DATE(YEAR(A1),MONTH(A1)+2,VLOOKUP(MOD(A1+1,12)+1,対応表,2,FALSE)) とします。

makirabi
質問者

お礼

maruru01さん。本日2度目の回答ありがとうございます。 後々変更ができるのでVLOOKUPでやります。 難しく考えてましたが月だけを抜き出してVLOOKUPでよかったんですね^^; どうもありがとうございました。 またよろしくお願い致します。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>これを任意の月末に変えたいのです。(12月なら28日とかですね) 月ごとの最終日が決まっている場合 B1=DATE(YEAR(A1),MONTH(A1)+1,CHOOSE(MONTH(A1)+1,31,28,31,28,31,30,31,31,30,31,30,28,31,28)) C1=DATE(YEAR(A1),MONTH(A1)+2,CHOOSE(MONTH(A1)+2,31,28,31,28,31,30,31,31,30,31,30,28,31,28)) CHOOSEの中の数値の内容は 月_1 _2 _3 _4 _5 _6 _7 _8 _9 10 11 12 _1 _2 日31,28,31,28,31,30,31,31,30,31,30,28,31,28 VLOOKUPでやる場合は B1=DATEVALUE((YEAR(A1)+(MONTH(A1)=12))&VLOOKUP(MONTH(A1),末日の表,2,FALSE)) C1=DATEVALUE((YEAR(A1)+(MONTH(A1)>10))&VLOOKUP(MONTH(A1),末日の表,3,FALSE)) 末日の表は 1 "/2/28" "/3/31" 2 "/3/31" "/4/28" ・・ 11 "/12/28" "/1/31" 12 "/1/31" "/2/28"

makirabi
質問者

お礼

回答ありがとうございました。 今回は後々変更ができるのでVLOOKUPでやりたいと思います。 どうもありがとうございました。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

翌月1日を求めて、そこから1を引けば末日が得られますが、それではだめなんですか?

makirabi
質問者

補足

質問内容がわかりづらくてすいません^^; 末日の得方はわかるのですが(過去ログでその数式は発見できたのですが)求めたいのが末日ではないので質問の仕方が悪かったです。 該当月に対して指定した何ヵ月後の何日を表示したいのです。 Aセルに入力した月に対してBセルに1ヶ月後の指定日、Cセルに3ヵ月後の指定日です。 指定日が 12/28 1/28 2/25 3/31 のようにあり Aセル  Bセル  Cセル 11/3   12/28  2/25 11/19  12/28  2/25 12/2   1/28  3/31 12/29   1/28  3/31 としたいのです。拙い説明で申し訳ありません。

関連するQ&A