• ベストアンサー

数字から該当月の月末を求めるには

例としてA1セルに8と言う数字を入れたらB1セルに該当年の月末2018/8/31が出る関数またはVBAがあれば教えてください。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8467/18126)
回答No.1

=DATE(YEAR(TODAY()),A1+1,0)

その他の回答 (2)

  • okwavey2
  • ベストアンサー率15% (251/1593)
回答No.3

>数字から該当月の月末を求めるには 言いたいことがこれでは正確に伝わらない。 数字とは何? 例えば、月を表す1~12の数字から、と書きましょう。 他にはタイムスタンプを表す数字でも該当月があるので、その月末かもしれません。 質問の例では、「該当年の月末2018/8/31が出る」と書いてありましたが、数字が1~12を表す数字だと、該当年はありません。 月しか確定しないので、全ての年が該当するかもしれないし、全ての年が該当しないかもしれません。 希望の状態に矛盾があるため、実現することは不可能です。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

2月月末は閏年なら29日他は28日です。 年の情報が必要です。どうしますか

shibushijuko
質問者

お礼

説明が不十分ですみません。お得意様事の1月から12月まで売上と入金を記録した売掛集計表シートがあります。(売掛集計表は1年毎に情報を消去して使いまわします。) この売掛集計表から該当月のお得意様全員の売上情報を売上月報集計表シートに張り付けるマクロを組んでいます。 マクロは1から12まで用意してあり、例えばマクロ1を実行すると売掛集計表の1月のお得意様全員の情報が売上月報集計表シートに張り付けられます。 売上月報に何年何月分と自動で日付を入れたいのですが、単純に売り上げ月報にtoday関数を入れてyyyy/mm表示にすればと考えました。 ただし、today関数を使った場合、マクロを実行するのが該当月内に限られてしまいます。翌月に前月分を実行すると、翌月の年月日の入った売上月報になってしまいます。 そこで売掛から売上月報に張り付けをするマクロに該当月の数字を月報に張り付けるマクロも組み込み、その数字をもとに該当年月を月報に表示させたいと考えました。 月報集計表は印刷する場所以外、自由に使えるので例えば1と言う数字をL1に張り付け、さらに該当年を取得するためにM1セルあたりにtoday関数をいれてと言うところまではできています。この1は1月を意味しています。 月報に数字の1とtoday関数がある状態から、2018年1月を月報内に表示させたいのですが、月末に実行しても、翌月に実行しても同じ2018年1月が取得できる方法はないでしょうか?