- ベストアンサー
Excelで勤務表を作成する方法とは?
- Excelで勤務表を作成する方法についてご存知の方、ご教示いただけませんか?手入力すると日付の部分で問題が発生してしまいます。
- 勤務表は15日締めであり、年と月を指定し、日付を自動的に入力する必要があります。手入力ではなく自動的に日付を入力する方法があれば教えてください。
- Excelで勤務表を作成する際、手入力ではなく自動的に日付を入力する方法を探しています。どなたかご存知の方いらっしゃいましたら、ぜひ教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>3.月:$A$4に「11」、$A$20に「12」と入力 $A$20へは次の数式を設定すると自動的に翌月の月が表示されます。 =IF(COUNTIFS($B$2,"<>",$A$4,"<>"),MONTH(EOMONTH(DATE($B$2,$A$4,1),1)),"") >4.日:B4~B18に「16~30」、B20~B34に「1~15」と入力 B4は次の数式とし、表示形式を「d」にすれば良いでしょう。 =IF(AND(B3<EOMONTH(DATE($B$2,$A$4,1),0),COUNTIFS($B$2,"<>",$A$4,"<>")),DATE($B$2,$A$4,ROWS($B$4:$B4)+15),"") 下へB19までコピーすると月末までの日を表示し、月末を超える日付は表示されません。(実質の値は年月日のシリアル値です) B20は次の数式とし、表示形式はB4と同じにします。 =IF(COUNTIFS($B$2,"<>",$A$4,"<>"),EOMONTH(DATE($B$2,$A$4,1),0)+ROWS($B$20:B20),"") B20をB34までコピーすれば日付は実質の値が年月日ですが表示は日のみになります。 >5.曜日:=IF($B4<>"",TEXT(DATE($B$2,$A$10,$B4),"aaa"),"")を C4に入力し、C34までコピペ C4セルの数式は次のようにして、表示形式を「aaa」にすれば曜日の1文字が表示されます。 =B4 C4セルをC34までコピーすれば完成です。 12月16日から翌年1月15日のカレンダーにもそのまま対応できています。 これで手入力はB2セルとA4セルのみになります。
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8799/19955)
B2に「2017」を入力 A4に「11」を入力 B4に「16」を入力 A20に「=IF($A$4<12,$A$4+1,1)」を入力 B5に「=IF(MONTH(DATE($B$2,$A$4,B4+1))=$A$4,B4+1,"")」を入力 B5をB6~B19にコピペ C4に「=IF(B4<>"",TEXT(DATE($B$2,$A$4,B4),"aaa"),"")」を入力 C4をC5~C19にコピペ B20に「1」と入力 B21に「=B20+1」と入力 B21をB22~B34にコピペ C20に「=IF(B20<>"",TEXT(DATE($B$2,$A$4+1,B20),"aaa"),"")」を入力 C20をC21~C34にコピペ 上記のようにすると、年またぎも大丈夫になります。
お礼
それからもう一つ。 上段の月が12月も場合、下段の1月分の曜日が前年の曜日になっております。 この2つをどうかよろしくお願いします。
補足
回答ありがとうございます。 教えて戴いた通り記述すると、2/16~2/28、2/29(の入るところ)は満足いく結果でしたが、その下段の2/30、2/31(の入るところ)が「#VALUE!」が2行分入るようになってしまいました。 ここがスペースになると完璧なのですが・・・
お礼
何度もありがとうございました。 お陰様で満足いくものが出来ました。