- ベストアンサー
エクセル 指定した期間の表示
エクセル2000で簡単な勤務表を作っています。 20日が締め日なので ・A1に日付を手入力するとC1には自動で翌月の20日が表示される方法 ・A2~A**にはC1に表示された日にちが自動で入力(表示)される方法 を教えていただきたいです。 A B C D 1 4/21 ~ 5/20 2 日付 曜日 出社時間 3 4/21 4 4/22 *省略* **5/19 **5/20 マクロは、始めたばかりなので自動記録しか分かりません。 関数で出来るようであれば、そちらでお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1セルに入力されるのが必ず前月の21日であれば、 C1には =EDATE(B1,1)-1 で出ます。(書式は日付に直して下さい。) 日付はA3セルが始まりですよね。 A3セルは =A1 A4セルは =A3+1 後は下までそのままフィルコピー 但し、例題で言う5/20まで終わらせたい場合は、 =IF(A3="","",IF($C$1<A3+1,"",A3+1)) とA4セルに入力してフィルコピー A列はすべてセルの書式を日付にして、 B列はすべてセルの書式を「ユーザー定義」で aaa とします。 そしてB3セルには =A3 と入力して下にフィルコピーです。
その他の回答 (2)
- FEX2053
- ベストアンサー率37% (7991/21371)
翌月の20日は =DATE(YEAR(A1),MONTH(A1)+1,20) これをセルの書式設定で「日付」にすれば出てきます。 日付は単純に直上のセル+1でいいです。例えば =A1+1 これをA2に指定して、A1に4/21と入力すれば4/22が表示されます。後は =A2+1 =A3+1 : と続けるだけです。 なお、当日から翌月20日までの日数が不定なので、後ろのほうは5/21, 5/22・・・となります。気にされるなら、例えばB1に一番初めに書いた =DATE(YEAR(A1),MONTH(A1)+1,20)を設定しておき、 =IF(A2+1>B1,"",A2+1) こうすれば、5/20を過ぎたら表示されなくなります。
お礼
分かりやすく教えていただきありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
C1=DATE(YEAR(A1),MONTH(A1)+DAY(A1)>20,20) A3=A1 A4=IF(A3<$C$1,A3+1,"") A4をA33までコピー
お礼
すばやい回答ありがとうございました。
お礼
すごく分かりやすかったです。 おかげで、完成しました。 どうもありがとうございました。