- ベストアンサー
エクセルで自動に休日の列に網がけする方法を教えてください
エクセルで、出席簿を作っています。 B1のセルに日付を、B2に曜日を入れています。 A2,A3出席者の名前がずらっと300人ほど入り、最後の行に集計欄などが入ります。 1 2 3・・・・ 水 木 金・・・・ 佐藤一子 出 欠 出・・・・ 佐藤二子 欠 欠 出・・・・ 田中カズオ 出 出 出 ・ ・ ・ ・ ・ ・ ・ ・ 出席者計 100 250 25 出席率 10% ・ ・ このような一覧表の場合、カレンダーの休日の列に自動で網がけをしたいのですが、そのような方法はありますでしょうか? 途中で一部、網がけをしたくない行も少しあります。 どうぞよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
単純に土・日だけなら条件付き書式で対応できます。 しかし、祝日など公休日なども含めると、標準機能だけでは困難です。 曜日を手作業で入力済みでしたら、条件付き書式の数式で =or('曜日'="土",'曜日'="日") ※曜日は、各列の曜日入力セル としておけば任意のパターン(網掛け)に指定できます。 曜日セルについて、行だけ絶対参照にすれば後は全部書式コピーで対応可能です。 日付に対してweekday関数を利用されても同じです。 条件付き書式の詳細については、エクセル技道場辺りを参照し下さい。 http://www2.odn.ne.jp/excel/ 祝日まで含める場合は、kt関数などのアドインを利用して、祝日の判定を行うか、 日付の下にでも、稼働日と休日の区別を示す行を、追加して対応して下さい。 http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm
その他の回答 (4)
- mshr1962
- ベストアンサー率39% (7417/18945)
どこかのセルに年,月のセルはあるでしょうか?ある場合ですが 曜日の部分を =DATE(年のセル,月のセル,日のセル) ※年と月のセルは絶対参照($A$1)の様に設定してください。 として表示形式をユーザー定義で aaa とa三つにしてください。 後、別のシートで良いので祝日と振替休日の表を作成しておきます。 網掛する列の範囲を選択して「書式」「条件付き書式」で 「数式が」「=OR(WEEKDAY(曜日のセル,2)>5,COUNTIF(祝日の表,曜日のセル))」として書式のパターン(網掛)を設定してください。 ※曜日のセルは行の絶対参照(A$2)、祝日の表の範囲は絶対参照(Sheet2!$A$1:$A$30)の様に設定してください。 これで列単位の網掛になります。
- n-akina
- ベストアンサー率31% (75/238)
こんにちは。 土日祝日を判定するのにWORKDAY関数を利用してはいかがですか? 適当な行に下の式を入れると当日(A1)と前日(A0)の次の仕事日(WORKDAY)を比較して、異なっていたら「休」と表示します。 =if(A1=WORKDAY(A0,1,Sheet2!A1:A40),"","休") WORKDAYの1つ目の引数は日付型(2005/01/01のように入力し、書式で日だけにする。)にする必要があります。 また、Sheet2のA列に祝祭日や特別な休日をリストしておき、それをWORKDAY関数の3つ目の引数に与えると、それも休日として判定されます。 注)実際のA0は空欄だと思いますが、計算上必要なので、入力して、印刷したくなければ、書式で「白文字」等にしてください。 あとは、各列に条件付書式を設定し、上記列を見て網掛けします。 では。
- simoyan
- ベストアンサー率33% (413/1236)
#1です。 セルだけじゃなかったんですね。 失礼しました・・・。m(_ _)m
- simoyan
- ベストアンサー率33% (413/1236)
[書式]-[条件付き書式]でできると思います。 条件に「土」が入っていれば、網掛けにするといった設定にすれば良いかと。