- ベストアンサー
Excel:土曜と日曜の行に書式設定
会社で働いた時間の表をExcelで作っています(1ヶ月 1シート)。 B列は日付が入っていて、 C列には曜日、例えば =TEXT(B3, "ddd") が入っていまして(Sun,Satなどと表示)、 D,E,F列・・・・・には出社時刻、退社時刻、休憩時間、・・・・を入力します。 やりたいこと:土曜と日曜は書式設定をしたい(たとえば セルに色を付ける。) 範囲指定して 書式メニューの条件付き書式で、 条件1 セルの値が 次の値に等しい ="Sun" 条件2 セルの値が 次の値に等しい ="Sat" などと設定すれば、曜日(C列)のセルは指定した設定になりますが、 他の列も指定した設定にしたいのです。 バージョンはExcel2000です。よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
補足を拝見しました。 関数ヘルプなどで見ると分かるかと思いますが WEEKDAY関数は日付に対応する曜日を1~7などの数字で 表す関数です。 =WEEKDAY(値,種類) ということになるんですが 値は日付や日付を表すセル・数式など、 種類は 1(または省略) 日~土 1~7 2 月~日 1~7 3 月~日 0~6 というように、その時に都合のいい結果を引き出せばいいわけです。 ここの質問でのネックはむしろ条件付き書式で 「数式が」を選ぶこと と 行全体に対応させるにはBの前に$をつけること ですね。 WEEKDAY関数がややこしければ 条件を下の134さんのアドバイスのように 数式が =$C3="Sun" としても同じ結果になりますね。
その他の回答 (6)
- 134
- ベストアンサー率27% (162/600)
条件付き書式で 「数式が」を指定して、=C2="Sun"で赤字 とかとすると列が赤くなりましたがしたが…
- taneyan
- ベストアンサー率33% (73/215)
janmaのご紹介のサイトで「条件付き書式」で色を付けるを読み、1から7までの数字を縦に入れ、7の場合のみ黄色で表示するように設定しました。 うまくできました。 ありがとうございました。お陰で活用できます。
お礼
ありがとうございました。
- kbonb
- ベストアンサー率51% (254/492)
こんにちは 条件付き書式については以下のページで詳しく解説しておりますので、是非ご覧になってみてください。 【エクセル技道場】-条件付き書式 http://www2.odn.ne.jp/excel/waza/cformat.html 「土日祝日に色をつける」というのもあります。
お礼
参考URLがとても参考になりそうです。
- taneyan
- ベストアンサー率33% (73/215)
例えば、カレンダーで、日曜日は赤、土曜日は青にしたいということなのでしょうか。 書式設定では無理だと思いますが。 VBAで簡単なプログラムを組めば出来ますが。
補足
質問で説明がたらなかったかもしれません。 セルを選んで右クリック、セルの書式設定-パターン で セルに網掛けや色を付けたりできますが、 そういうことを、いちいち土・日の行を選んで右クリックして設定するんじゃなくて、 自動的に土・日の行は設定されるようにする、 ということです。 VBAとかマクロとかよくわからないので、できれば使わないでできればよいのですけど。
- telescope
- ベストアンサー率54% (1069/1958)
C1セルに、 条件付書式で、 条件1 数式が =WEEKDAY($B1,2)=6 条件2 数式が =WEEKDAY($B1,2)=7 として書式で色を指定します。 あとは、書式をコピーします。 (「編集」-「形式を選択して貼り付け」で、『書式』を選択)
補足
問題の表は月の1日が3行目、2日が4行目、・・・・となっているのですが、そのことは考慮外としてやってみました。 ご回答の通り、C1セルに条件付書式(色)を設定してコピーし、表内を範囲選択し、書式を貼り付けました。 すると、土曜の行・日曜の行とも指定した色になりましたが、 日付が5桁の整数値、出社時刻や退社時刻が小数値になってしまいました(シリアル値というのでしょうか)。 多分、書式をコピーするということは、表示形式もコピーすることなのでしょう。コピー元のC1セルの表示形式は「標準」です。 それで、シリアル値となってしまった列の表示形式を日付や時刻に設定しなおすと、元通りの表示(シリアル値でないもの)に戻りました。 初めに範囲選択して条件付書式を設定するよりも、ご回答のように、1つのセルに条件付書式を設定しそれをコピーしてから範囲選択して「書式を貼り付ける」というやりかたのほうが、《理解のしやすさという点では》いいと思います。
- Kaz003
- ベストアンサー率48% (31/64)
B列に日付であれば 書式設定したい範囲(c1:fnなど)を選んで 条件付き書式で 条件1 数式が =weekday($b1)=1 条件2 数式が =weekday($b1)=7 としてやれば 条件1は日曜日の行 条件2は土曜日の行 になります。 右辺の数字 1~7が 日~土曜日 に対応です。
補足
問題の表は、月の1日がシートの3行目、2日が4行目、3日が5行目、、、、、となっているため、ご回答は、 条件1 数式が =weekday($b3)=1 条件2 数式が =weekday($b3)=7 との意味だと思います。実際にこのようにすると、質問で求めていた通り、土曜と日曜に書式が設定されました。ありがとうございました。 ただなんとなく、上記の数式の意味が私はまだしっくり理解できてないので、よく考えてみることにします。
補足
#1で私が何が理解できなかったかというと、範囲指定した上で相対参照しているところです。私のこれまでの理解では、絶対参照・相対参照とは「コピー&ペースト」(#2補足)の概念であって、初めに範囲指定したときの概念ではなかった。 最後におっしゃっているように、範囲指定した上で、条件付き書式で「数式が =$C3="Sun"」という設定が、わかりやすさでも実用面でも、私にとって一番いいかもしれません。