- ベストアンサー
EXCELで教えてください。
勤務表のようなものを作ってるのですが、日付の下に曜日を 表示しています。土・日の場合は休みというしるしで その列(土・日の列)に色を塗りたいです。 あと、可能であればマクロなどを使って、日曜日は毎週、 土曜日は第2・4土曜にだけ色をつけるというのは可能でしょうか? 条件付書式でチャレンジしましたが、該当の列全部に色をつけるというのが 難しくてできませんでした。教えてください!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
日付けを指定しているのを1行目にあるものとして、 (A1、B1、C1・・・・に日付けが入っているって意味です) 条件付書式の設定で =weekday(A$1)=1 ・・・(1) =weekday(A$1)=7 ・・・(2) の2つをいれて別のセルにもコピーしてしまえばよいでしょう。 これなら列をまとめて色を変えることが可能です。 (色を変えたいセルに同様の式を入れて下さいね。それから第2・4土曜日は、逆にいえば第1・3土曜日に色をつけなければいいのですから、上記の(2)の条件を、1日から7日、15日から21日にはいれないでおけばいいですよね。 私も行と列は逆ですが、同じことで使ってます。 (○月度って入力すれば、曜日が自動的に変わり、色もそれにつれて変わってくれます。)
その他の回答 (4)
- Haizy
- ベストアンサー率40% (404/988)
こんにちは、ふたたびです。 ●補足に対する回答 A3:A18に設定したい場合は、 まず、A3~A18までを選択しておき、その状態で、条件付書式 をやってください。まとめてできます。条件付書式は、オートフィル(囲んだ範囲をドラッグしてコピーしていく機能)でも、コピーされていきますので、オートフィルを用いた方が簡単に行くと思います。 ●第二・第四について 「数式が」 =AND($D3="土",DAY($C3)>=8,DAY($C3)<=14) 条件書式の条件です。 C列に日付、D列に曜日が入っている場合です。 これで、第2土曜日だけ色がつけられます。 理屈は#1の通り。複数の条件を指定できると思いますので、第二の条件と第四の条件でつけてみてください。 ★マクロは、個人使用で無い限りお勧めしません。 「マクロが含まれています~~ウィルス~~云々」 とメッセージが出てくるので、パソコン知らない上司に、理不尽なお叱りを受けました。 (おれぁ、悪くないぞ~~~(TvT;ぐすん・・・) でわでわ・・・。
お礼
条件付書式の方がいいみたいですねー。 こういう使い方ができるのは知らなかったです。 ありがとうございました!
- miya_777
- ベストアンサー率31% (44/140)
簡単なVBAの例です。 Dim intCnt As Integer 'カウンタ Dim intSatCnt As Integer '土曜カウンタ intCnt = 1 intSatCnt = 1 Do If Cells(intCnt, 1).Value = "" Then Exit Do End If If Cells(intCnt, 2).Value = "土" Then If intSatCnt = 2 Or intSatCnt = 4 Then Range(Cells(intCnt, 1), Cells(intCnt, 18)).Select Selection.Font.ColorIndex = 3 End If intSatCnt = intSatCnt + 1 End If If Cells(intCnt, 2).Value = "日" Then Range(Cells(intCnt, 1), Cells(intCnt, 18)).Select Selection.Font.ColorIndex = 3 End If intCnt = intCnt + 1 Loop
お礼
ありがとうございます。 まだまだ初心者なのでなんとなくしか内容が つかめてませんが、頑張ってやってみますね。
- himehime
- ベストアンサー率37% (133/354)
勤務表ってことは、月間表みたいなものですよね。 日付の右に、なら、 マクロ使わなくても、簡単にできるんだけどな~。 セル範囲を全部選択して、からですけど、 書式→条件付き書式で、 条件の値がのところを、 「数式が」を選んで、 =$B1="土" で書式設定でできます。 ""内は表示形式を選んで入れてください。 たとえば、土曜日と表示させてたら、土曜日っていれてくださいね。 日曜日も同様にできます。 日付の下に、のやり方はありそうだけどわかりません、すみません(ーー;)
お礼
私もこの方法でやってみたんですが セル範囲を選択してからというのを 自動的にできないのかと質問されて・・・。 むずかしいですよねー。 回答ありがとうございます!
- Haizy
- ベストアンサー率40% (404/988)
こんにちは。 曜日が =CHOOSE(WEEKDAY( 日付 ),"日","月","火","水","木","金","土") で、出されているなら、 設定したいセルをアクティブにして(クリックして) 書式 - 条件付書式 「セルの値が」 「次の値に等しい」 "日" として、[書式]ボタンから、フォントと、文字の色が指定できます。 ●第二・四土曜日 というのは、 第二 8~14日 しかありえない 第四 22~28 しかありえない なので、これを利用すればよいのではないでしょうか。 でわでわ
補足
回答ありがとうございます。 私もそのセル自体は条件付書式で色をつけることができたのですが 日曜日ならその列(例えばA3:A18)に色をつけるということは どうでしょうか? 教えてください!
お礼
ありがとうございます! 一生懸命マクロを使わないとダメなのかなーって 考え込んでたんですが、こんな方法でもできるんですねー。 大変助かりました!! ありがとうございました!!