- 締切済み
出勤表を作りたいのです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- msMike
- ベストアンサー率20% (364/1804)
添付図参照 1.d に書式設定したセル D3、および標準書式のセル D4 に  ̄ ̄それぞれ次式を入力して、範囲 D3:D4 を右方にズズーッ  ̄ ̄と(AH列まで)オートフィル  ̄ ̄ D3: =DATE($F2,$H2,COLUMN(A1))  ̄ ̄ D4: =TEXT(D3,"aaa") 2.次式を入力したセル D5 を右方(AH列まで)および下方に  ̄ ̄ズズーッとオートフィル  ̄ ̄ =IF($B5="月~金",IF(MOD(D$3,7)+1>2,"○",""),IF($B5="毎金",IF(MOD(D$3,7)+1=7,"○",""),IF($B5="初金",IF(AND(D$4="金",COUNTIF($D$4:D$4,"金")=1),"○",""),""))) 3.範囲 D3:AH11 を選択して、下記の[条件付き書式]を設定  ̄ ̄ルールの種類: “数式を…を決定”  ̄ ̄ルールの内容:  ̄ ̄ ̄ ̄ルールの内容: 数式→=MONTH(D$3)<>$H$2  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄書式→フォント色を白
- imogasi
- ベストアンサー率27% (4737/17069)
下記は、早い方の質問の画像の例にあわせて、でやってみたもの。 ダブりの質問では、回答者は混乱する。 ーー E2 年西暦 手入力 G2 月 手入力 D3 日付 関数 =COLUMN()-3 E3より右列 日付 式複写 右方向 D4 曜日 関数 =TEXT(WEEKDAY(DATE($E2,$G$2,D$3)),"aaa") D4より右列 曜日 式複写 右方向 D4より右列 配置 右詰め C5 氏名 手入力 C6以下 氏名 手入力 -- D5以下 出勤日にマーク 関数 参照するテーブル=出勤する曜日の表 の例 J18:P50など 。この場所は移動できる。ただし下記の式は、注意深く変更する必要あり。 (個人別出勤曜日の表) J列-P列 田中 月 火 水 木 金 今野 火 金 木村 月 木 本田 火 水 金 大野 月 木 金 ーーー D5の式 =IF(ISERROR(MATCH(D$4,OFFSET($K$18,MATCH($C5,$J$18:$J$30,0)-1,0,1,7),0)),"","○") これを右方向に式を複写 またD5:AH5を範囲指定しておいて、プラスハンドルを下方向に引っ張って 式を各行に複写する。 == D5以下の式を組み立てるのは、相当期間の、エクセル関数の勉強・経験が必要とおもう。少し勉強してからにしたらどうか。 質問者は、番地に$を付ける箇所や必要な場合(ケース)は判っているのかな。 ーーー 対応できてない事項ー>対応は相当複雑になることは分かるかな。 (1)月による月末日が違う (2)祝日の対応 (3)会社の臨時休日の対応 (4)個人のその週の臨時事情の休業日 などの対応はできてない。 ーー そもそもエクセル関数で、この課題を十分に処理するのは無理があろうと思う。 小生ならVBAで処理するか、個人別出勤日データのデータべー化のため、アクセスなどのソフトを使うことを検討する。
- SI299792
- ベストアンサー率47% (772/1616)
>出勤日のセルに丸が自動でつくようにしたいです。 これを実現するには、どこかに曜日別出勤予定を作る必要があります。 サンプルを作りました。 前の質問の時の作ったもので、既にできていると思っていなかったので、D~Jを曜日別出勤予定にして、非表示にしてあります。 この場所がまずければ、他の場所へ移動して下さい。 曜日は、TEXT関数で出しています。セルの書式設定でAAA にすると動きません。 祝日、休暇、予定外出勤は考慮していません。手作業で入力してください。 翌月は、隣の式をコピーして下さい。