- ベストアンサー
日付の自動表示で困ってます。
20日締めの表製作で日付の自動表示をしたいのですが、 A1に年/月を入力すると A2が前月の21日から始めA2~ A32まで日付を自動表示させたいのです。 で、途中の月末(28,29,30,31)表示も自動で修正できれば うれしいのですが、、、 どうすればよいのでしょうか、助けてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
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月を入れてみて確認を)
その他の回答 (5)
- redowl
- ベストアンサー率43% (2140/4926)
#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 です。 それぞれの、表示形式で設定すれば、良いです。
補足
有難うございました。 こっちだと21日以降は表示されてしまいました。 それとちょっと質問です、日付のはじめをA2から じゃなくA4から始めるのはROWの前の19を17に変えれば 良いのですか?
- mshr1962
- ベストアンサー率39% (7417/18945)
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までコピーする。
お礼
有難うございます。 今ガンバって試しています。
- hidechan2004
- ベストアンサー率23% (464/1992)
とりあえず、A1に年、B1に月、C1に21を入力して、 A2以降に自動表示の方法を書きます。 A2に=DATE($A$1,$B$1,$C$1) と入力して、 A3=A2+1として、あとはフィルハンドルでA32までコピー。 ちなみに、A1に年月両方をどうしても入力したい場合は、YEAR関数、MONTH関数で年月を取り出して式に当てはめてください。 関数を重ねると見にくくなるので、問題なければ別のセルを使うほうをお勧めしますが。
補足
有難うございます。 A3=A2+1これだと月末の違いに対応可能ですか?
- katurin
- ベストアンサー率14% (1/7)
日付だけなら21~20を固定で入力しておけばいいのは? 入力データも表示したいのですか?
補足
B列に曜日を入れたいので固定ではだめです。
- ipsum11
- ベストアンサー率21% (55/251)
1.A1日付を入力します。 2.A2に数式「=DATE(YEAR(A1),MONTH(A1)-1,21)」を入力します。 3.A3に数式「=A2+1」を入力しA32までコピーします。 その他、細かいところは色々試してみてください。
お礼
即効のアドバイス有難うございます。 これから試します。!!
補足
ありがうございます。 表示形式は A1は ggge"年"m"月" で A2~A32は d です。