- ベストアンサー
エクセルで出勤表を作る方法
- エクセルで1年分の出勤表を作成する方法を解説します。
- 勤務時間を手書きしてもらうために、エクセルで出勤表を作成する方法を教えてください。
- エクセルを使用して、月別の出勤表を作りたいと思っています。日付や曜日の表示方法が分からず困っています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>(1)セルA1に年を設定し、A2に月を設定する 手入力ですね? >(2)=DATE($A$1,$A&2,1~31)で、日付を出す 1日のセル位置と日付の数式を設定するセル範囲が明確ではありません。 推測ですがA3=1日、A4=2日、・・・・、A33=31日と言うことですか? >(4) (2)の日付の横のセルに=TEXT(WEEKDAY((2)のセル,1),"aaa")で曜日を表示 曜日はB3~B33でよろしいでしょうか? >これを、その月の月末の日付までしか表示しないようにしたいです。 A3=IF(DATE($A$1,$A$2,ROWS(A$3:A3))>EOMONTH(DATE($A$1,$A$2,1),0),"",DATE($A$1,$A$2,ROWS(A$3:A3))) B3=A3 としてA3とB3を下へ33行目までコピーしてください。 A3~A33セルの書式はユーザー定義「d」で良いですがB3~B33はユーザー定義「"aaa"」にします。 B3~B33は日付のシリアル値ですが表示形式で曜日を指定すればTEXT関数で文字列に変換する必要はありません。
その他の回答 (5)
- dogs_cats
- ベストアンサー率38% (278/717)
=DATE($A$1,$A&2,1~31) の代わりに =If (Month(Date($A$1,$A&2,1~31))=$A$2, Date($A$1,$A&2,1~31, "") としたらどうでしょう。 つまりDATE($A$1,$A&2,1~31)の結果が、A2に指定してある月と違う場合は、長さ0の文字列("")を返します。
- keithin
- ベストアンサー率66% (5278/7941)
=IF(MONTH(DATE(A$1,A$2,29~31))<>A$2,"",DATE(A$1,A$2,29~31)) といった組立にします。 実際には1日から28日までのセルには関数を入れるまでも無く1から28までの数字を生で記入しておき、曜日のセルの側で =TEXT(DATE(A$1,A$2,1から28のセル),"aaa") と計算 さらに29日以降の曜日は =IF(上述の29~31日のセル="","",TEXT(A$1,A$2,29から31のセル),"aaa")) のようにしておけば十分です。
お礼
ありがとうございました。 いろいろな方法がありますね、参考になりました。
- kagakusuki
- ベストアンサー率51% (2610/5101)
1日(ついたち)の日を表示させるセルがどのセルなのかが具体的に判らなければ、明確な回答をする事が出来ませんので、取り敢えず仮の話として1日の日を表示させるセルがB4セルであるものとして話を進める事に致します。 その場合、まず、B4セルに次の関数を入力して下さい。 =IF(ISERROR(($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0),"",ROWS(B$4:B4)) 次に、C4セルに次の関数を入力して下さい。 =IF(ISNUMBER($B4),TEXT($A$1&"/"&$A$2&"/"&$B4,"aaa"),"") そして、B4~C4のセル範囲をコピーして、B5~C34の範囲に貼り付けて下さい。 尚、上記の場合にはセルの書式設定を標準にして下さい。 それからもし、どうしても >書式設定をユーザー定義「d」にして日のみを表示 にされたい場合には、B4セルの関数を =IF(ISERROR(($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0),"",($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0) に、C4セルの関数を =IF(ISNUMBER($B4),TEXT($B4,"aaa"),"") にして下さい。
お礼
日付がどのセルなのかわからないというところは、 すみませんセルじゃなくて手入力のつもりでした。。 ISERROR関数を知らなかったので参考になりました!ありがとうございました。
- msMike
- ベストアンサー率20% (364/1804)
ヒントだけネ。 [条件付き書式で]でフォント色を白に設定
お礼
そういうのもありですね! 参考になりました、ありがとうございました。
お礼
EOMONTHの使い方を初めて知りました。 ありがとうございました!