• ベストアンサー

日付の自動表示で困ってます。

20日締めの表製作で日付の自動表示をしたいのですが、 A1に年/月を入力すると A2が前月の21日から始めA2~ A32まで日付を自動表示させたいのです。 で、途中の月末(28,29,30,31)表示も自動で修正できれば うれしいのですが、、、 どうすればよいのでしょうか、助けてください。

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

  • ベストアンサー
  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.5

A列の書式表示形式は 「日付」の中のどれか。 A1に入力する時は 2006/6/◯◯ で A2以降に A32まで 下の数式を =IF(AND(MONTH(A$1)=MONTH(DATE(YEAR(A$1),MONTH(A$1)-1,19+ROW())), DAY(DATE(YEAR(A$1),MONTH(A$1)-1,19+ROW()))>20),"", DATE(YEAR(A$1),MONTH(A$1)-1,19+ROW())) IF関数で 先月21~末日、当月の20まで判断。当月 21日以降は表示せず。 (A1に2月を入れてみて確認を)

bobzo
質問者

補足

ありがうございます。 表示形式は A1は ggge"年"m"月" で A2~A32は d です。

その他の回答 (5)

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.6

#5です。 前回の、無駄発見で(よく考えたらAND使わなくても・・・) =IF(DATE(YEAR(A$1),MONTH(A$1),21)>DATE(YEAR(A$1),MONTH(A$1)-1,19+ROW()),DATE(YEAR(A$1),MONTH(A$1)-1,19+ROW()),"") >A1は ggge"年"m"月" で A2~A32は d です。 それぞれの、表示形式で設定すれば、良いです。

bobzo
質問者

補足

有難うございました。 こっちだと21日以降は表示されてしまいました。 それとちょっと質問です、日付のはじめをA2から じゃなくA4から始めるのはROWの前の19を17に変えれば 良いのですか?

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

A2=DATE(YEAR($A$1),MONTH($A$1),21) A3=IF(A2+1<DATE(YEAR($A$1),MONTH($A$1)+1,21),A2+1,"") でA3をA32までコピーする。

bobzo
質問者

お礼

有難うございます。 今ガンバって試しています。

回答No.3

とりあえず、A1に年、B1に月、C1に21を入力して、 A2以降に自動表示の方法を書きます。 A2に=DATE($A$1,$B$1,$C$1) と入力して、 A3=A2+1として、あとはフィルハンドルでA32までコピー。 ちなみに、A1に年月両方をどうしても入力したい場合は、YEAR関数、MONTH関数で年月を取り出して式に当てはめてください。 関数を重ねると見にくくなるので、問題なければ別のセルを使うほうをお勧めしますが。

bobzo
質問者

補足

有難うございます。 A3=A2+1これだと月末の違いに対応可能ですか?

  • katurin
  • ベストアンサー率14% (1/7)
回答No.2

日付だけなら21~20を固定で入力しておけばいいのは? 入力データも表示したいのですか?

bobzo
質問者

補足

B列に曜日を入れたいので固定ではだめです。

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

1.A1日付を入力します。 2.A2に数式「=DATE(YEAR(A1),MONTH(A1)-1,21)」を入力します。 3.A3に数式「=A2+1」を入力しA32までコピーします。 その他、細かいところは色々試してみてください。

bobzo
質問者

お礼

即効のアドバイス有難うございます。 これから試します。!!

関連するQ&A

専門家に質問してみよう