[[20031205131001]] 『セルに色が付いたら文字を消す』(焼き鳥) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルに色が付いたら文字を消す』(焼き鳥)

   A |B|C|D|E|F|G|H|・・・・・
 1  |月|火|水|木|金|土|日|・・・・
 2佐藤|出|出|出|出|出| | |・・・・
 3伊藤| | | | | |出|出|・・・・コレが続きます

 聞きたいのですが上記のようなシフト表があって
 土・日と祝日にはセルを青色にします
 (文字ではなくセルが青色です)

 佐藤さんは平日出勤なので月〜金に「出」と書いてありますが
 何曜日だろうと祝日には出勤しません
 伊藤さんは土・日と祝日出勤なので土・日に「出」と書いてありますが
 何曜日であろうと祝日には出勤します

 B2には=IF(OR(B2="月",B2="火",B2="水",B2="木",B2="金"),"出","")
 という式があり、Z2までコピペしました
 B3には=IF(OR(B2="土",B2="日"),"出","")の式をZ2までコピペしました

 が、第一月曜日が祝日なら佐藤さんは出勤しないし
 伊藤さんは出勤します
 そのとき上記の式はいかしつつも、祝日なのでセルが青色になったら自動的に
 佐藤さんの月曜の「出」は消して
 伊藤さんの月曜に「出」を書き込むようにしたいのですがどうすればいいんでしょう

 そんな事ってできますか?

 まず、タイトルの 『セルに色が付いたら文字を消す』
 これは、マクロでもないと難しいと思います。

 次に
 >土・日と祝日にはセルを青色にします
 これは、手動で色づけをしてるんですか?
 それとも、条件付き書式で NETWORKDAYS や、その他日付関数を
 条件に色づけをしてるんでしょうか?
 その何れかによって回答が違ってくると思います。

 又、
 >そのとき上記の式はいかしつつも、
 この式にこだわる理由はどのような訳でしょうか?

 そして、何処か別の場所に「祝祭日一覧表」の様なものを
 作成してますか?   (jun53)

 衝突しました。
 何度か当学校にも出てきているGET.CELLを使います。
http://www.moreexcellent.com/excel/tips/color.htm
を参考にして下さい。そしてB2に
 =IF(AND(色番号=0,OR(B1="月",B1="火",B1="水",B1="木",B1="金")),"出","")
としてZ2までコピーします。B3に
=IF(OR(B1="土",B1="日",色番号=5),"出","")
としてZ3までコピーで出来ます。途中でセルの色を変えた時は再計算してくれません
F9を押下して手動で再計算させて下さい。(ケン)

 お〜〜
 GET.CELL が有りましたね、ありがとう ケンさん。

 以下、せっかく書いたので、参考にもならないでしょうが、暇つぶしにでも読んで下さい。
 ************************
 追記です。
 曜日の 上の行とかに日付は入っていますか?

 祝日を自動で判断させるには、結構ややこしい手順があると思います。
 そこで一つの提案ですが、

 年間を通して祝日はそんなに数多く有るわけではないので、
 平日の祝日には ( ) を付ける。
 例: (月)とか(金)など

 それを IF で条件分けする。
 このような案は如何でしょうか。   (jun53)

 ケンさんに質問です。
 GET.CELL 未だ試してませんが
 これで「祝日」は判断出来るんですか?おせーて下さい。   (jun53)

 なんだか衝突というのが起きたようですが・・・
 マクロじゃないと難しいですか・・・
 私はまだ、初心者でマクロと言うのはわからないのですが・・・

 >土・日と祝日にはセルを青色にします
 土日に関しては今は手動で色つけしてますが
[20031202193018]に載っていたうじっちさんの条件式書式を試してみようとは思っています
 祝祭日に関しては手動で色を付けようと思っています
 手動でも簡単に色つけはできるので、土日と祝祭日で色の付け方が違うと、設定が難しくなる
 というのであれば、土日に関してもコレまで通り手動で色つけしてもいいと思っています

 >そして、何処か別の場所に「祝祭日一覧表」の様なものを
 作成してますか?
 作成していません

 >>そのとき上記の式はいかしつつも、
 >この式にこだわる理由はどのような訳でしょうか?
 実は上記の表には書きませんでしたが、曜日の上に日付が付いていて
 半月毎でシフトを出しています
 なので、上記の式をいかしておかないと、日付に合わせてB1の曜日を変えた時に
 作った式が無意味な物になってしまうと思ったからです
 何せ半月毎でシフトをプリントアウトしているので、B2に入れた曜日はコロコロ変わってしまうので・・・
 この辺りおかしいですか?

 ちなみに色を付けるというのは土・日・祝祭日の列全てになります
 上記の表で言えばG1〜H3まで色が付きます
 第一月曜(B1)が祝祭日ならB1〜B3まで色が付く事になりますが
 マクロでないと無理と言うことでしたら私にはまだ無理なので断念しようと思います
 (焼き鳥)

 junさんへ
 >土・日と祝日にはセルを青色にします
は手動でと解釈していました。やはり手動のようですね。
焼き鳥さんへ無理とあきらめる前に一度私の提案を試して下さい。
そんなに難しくないですよ。(ケン)

 (焼き鳥)さんの表、数式が崩れてしまうかもしれませんが
 よろしかったら参考にして下さい。

       A        B          C          D           E           F         G            H
 1           12月8日    12月9日    12月10日    12月11日    12月12日    12月13日    12月14日
 2              祝
 3              月         火         水          木          金         土          日
 4   佐藤       B4    
 5   伊藤       B5

 まず、日付行 と 曜日行 の間に1行隠し行を挿入します。(ここは非表示にします)
 祝日に当たる日に 祝(文字はお好きなのを)を入れます。
 3行目の曜日は 例えば B3(月)の所なら =B1 として
 セルの書式設定→表示形式→ユーザー定義→種類 で aaa として OK とします。
 これで曜日が出ますから B3 から H3 までコピー

 B4 に
 =IF(OR(WEEKDAY(B3)=1,WEEKDAY(B3)=7,B2="祝"),"","出")
 として、 H4 までコピー

 B5 に
 =IF(OR(WEEKDAY(B3)=1,WEEKDAY(B3)=7,B2="祝"),"出","")
 として、 H5 までコピー

 B1 から H5 まで範囲選択して
 「条件付き書式」 から 「数式が」で

  条件1 =OR(WEEKDAY(B$1)=1,(WEEKDAY(B$1)=7,B$2="祝")
 で、「書式」からお好きな色を選ぶ。

 以上で、大体思う事が可能になると思います。
 急いだので、間違いがあるかも知れません。

 12月8日  祝  は勿論仮定の話ですよ〜〜〜
 深く追求しないでねっ   (jun53)

 ちょっと追加で、
 [土・日] と [祝祭日] の色づけを分けるには

 B1 から H5 まで範囲選択して(範囲は適宜修正です)
 「条件付き書式」 から 「数式が」で
    条件1 =OR(WEEKDAY(B$1)=1,(WEEKDAY(B$1)=7)	「書式」から 例えば青
    条件2 =B$2="祝"			「書式」から 例えば緑

 条件2の "祝" の文字は、[祝日に当たる日] に打ち込んだ文字と同じにする です。
 違う文字でも二桁文字でも、お好きなように出来ます。

 [カレンダー] や [条件付き書式] については
[[20031205235121]]『三か月分のカレンダーつくり』(taka)
 シニアさんの回答も、参考にして下さい。   (jun53)


 無事表を作り終えました
 色々教えて頂きありがとうございました

 とりあえず今回は時間がなかったので、ちょっとめんどくさいけど
 祝祭日には( )をするやり方を始めに作ったIF関数に挿入して
 出の位置を変えさせる方法にしました
 確かに式に書き込むのはめんどくさいかもしれないけど発想としては単純!!
 こんなやり方もあるんだぁと目から鱗でした
 私のような初心者は難しく考えすぎてしまうので
 このお答えはさすが玄人!!って感服しました

 その他色々と便利なやり方があるんですね!!
 他のやり方はじっくり時間をかけて、理解してからチャレンジしたいと思います
 (何せ私物覚え悪いもので・・・・)
 まだまだ勉強していきたいと思います

 ケンさん・junさん本当にありがとうございました
 機会がありましたら、またこの若輩者に教えてやって下さい

 焼き鳥

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.