• ベストアンサー

エクセル 指定した期間の表示

エクセル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 マクロは、始めたばかりなので自動記録しか分かりません。 関数で出来るようであれば、そちらでお願いします。

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

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.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 と入力して下にフィルコピーです。

spica78
質問者

お礼

すごく分かりやすかったです。 おかげで、完成しました。 どうもありがとうございました。

その他の回答 (2)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

翌月の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を過ぎたら表示されなくなります。

spica78
質問者

お礼

分かりやすく教えていただきありがとうございます。

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

C1=DATE(YEAR(A1),MONTH(A1)+DAY(A1)>20,20) A3=A1 A4=IF(A3<$C$1,A3+1,"") A4をA33までコピー

spica78
質問者

お礼

すばやい回答ありがとうございました。