• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007 曜日によって別のセルの色を変え)

Excel2007 曜日によって別のセルの色を変え

このQ&Aのポイント
  • Excel2007を使用して曜日によって別のセルの色を変える方法について、質問させていただきます。
  • シフト管理用のExcel2007ファイルで、曜日ごとに営業時間に応じた色のセルを表示したい場合、どのように設定すればよいでしょうか?
  • Excel2007のA列に日付、B列に氏名、D9:AE9に時間が入力されており、営業時間に応じてセルの色を変えたい場合、具体的な手順を教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

言い忘れましたが、INDIRECT 関数が読み取っている「管理用シート!$A2:$B366」という文字列で特定されるセル範囲に「名前」というものを登録し、その名前で条件式を書くという方法もあります。この方法のメリットは、短い日本語などの言葉と簡単な書式で数式が書け、管理しやすくなる上、行列番号のミスによる参照エラーもしにくくなることです。設定の方法は、前回のご質問で皆さんが回答されているとおりです。 >……マクロ(?)を使用して選択した場所にこの雛形の表を貼り付けするようにしています。 このご質問で作られた表を、ということでしょうか? そうであれば、マクロのコードにおいて貼り付け方法がどうなっているかにもよりますが、表のセル範囲のプロパティ全てを丸ごとコピペしているのだとすれば、マクロの実行前に No.3 の条件式をちょっとだけ書き換えておくことによって、実行後にコピー先でも意図したとおりに条件付き書式が設定されているようにできるかもしれませんね。 AB9  =vlookup(A9,indirect("管理用シート!$A2:$B366"),2,)  ……最初の「$」を削除 このセルをコピーして AC9 に貼り付け後、AC9 の 21(時)をクリア。条件付き書式の「ルールの管理」で見ると、AC9 には次式が適用されています。  =vlookup(B9,indirect("管理用シート!$A2:$B366"),2,) これが AB9 での式と同一のものになるよう修正。つまり「B9」→「A9」と書き換え。その後、マクロによるコピーを実行します。丸ごとのコピーなら、これでうまく行くかと。 あるいは、元の表の条件は修正せずに、マクロによる貼り付けの後で手動で修正するという方針なら、次のような。例えば、AB100 セルに表を貼り付けると、日付も AB100 に入力されている状況になるが、条件式の VLOOKUP 関数は「$」の効果で A100 を参照しています。それを条件付き書式の「ルールの管理」にて、次式に修正。 AB9:AC9  =vlookup($AB100,indirect("管理用シート!$A2:$B366"),2,) 上の 2 案のほか、マクロでコピーする際に条件付き書式を併せて設定し直すことももちろん可能ですが、具体的なコードを見ないと有益なアドバイスは難しいです。それについて質問される場合、このご質問は締め切って、新たなご質問としてコードとともに投稿されるようしてください。 この言っている意味も分からないという場合は、まずは Excel のマクロがどんなものか、検索などでさわりだけでもお調べになることをお勧めします。

kojio-x
質問者

お礼

教えていただいた通りにやってうまくいくことができました。 マクロは今回初めてやったので、まだまだわからないことだらけですが、今回教えていただいたことも含めて自分の身になればと思います。 このたびは有難うございました。丁寧な回答に深く感謝します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

>日曜が祝前日だった場合はうまくいかないのではないかと思い 日曜と祝前日のどっちが優先なのか、ご相談では何も説明が無いことに留意してください。 余談ですが振替休日の扱いとかも同様ですね。 勿論そういう「説明を忘れていた」細かいことを、ご自分で考えて仕上げていくのがあなたの仕事です。回答者は、別にパーフェクトにアナタのヤリタイを解決するのが仕事じゃありませんから。 >別表を作成して再質問させていただきました。 今回実現したように、別表で1と0を記録して条件付き書式に反映するのは、簡単な良い方法です。 次のステップとして言えば、そうやってご自分の「正しい1の条件」や「0の条件」のそれぞれの数式を構築できれば、それを(その考え方/ロジックを)直接条件付き書式の条件として利用する事も出来るようになります。 #余談ついでに >自分自身だいぶ頭の中を整理できてきたので、なんとなく理解できました なるほど。それでご質問に何も回答していない回答が、一番役に立ったワケですね。回答する側からすれば随分とやる気を無くさせる結果だったので、こちらのご相談もスルーしようかなぁと思いましたけど。

kojio-x
質問者

お礼

「#余談ついでに」について、こういう言い方は良くないかもしれませんが、いただいた回答の最初の部分も含め、まるで質問者が「悪」であるかのような言い方はどうかと思います。 回答者様のようにこのサイトの常連の方はごくわずかで、ほとんどの方がたまにしか利用していないと思います。これでは質問する気も無くなってしまうと思います。 私も問題を解決したくて質問させていただきましたが、こんなことならやる気が無くなった時点で回答していただかなくても結構です。 「回答者は、別にパーフェクトにアナタのヤリタイを解決するのが仕事じゃありませんから。」こんなことは誰だって承知しています。 ですが質問した側として、私のスキルがないために、下手な説明になってしまい申し訳ありませんでした。 Excelの考え方などもわかり、正直言って質問+αの収穫もありました。 ただ、いただいた回答の中にある「次のステップ」には私はまだまだですが。 今後もお世話になる機会があるかもしれませんが、その時は何卒お手柔らかにお願いいたします。この度は有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

ああ、たいへん失礼しました。No.2 ですが、No.1 さんのおっしゃるとおりです。INDIRECT 関数を使えば条件付き書式でも、他シートへの参照ができたのでした。 その場合、No.2 の 4. の式は、次のとおりになりますね。 =vlookup($A9,indirect("管理用シート!$A2:$B366"),2,)=1 あるいは =vlookup($A9,indirect("管理用シート!$A2:$B366"),2,) ※「=0」だと必ず付けないといけませんが、0 以外の数の場合は、なくても大丈夫です。 間違えてしまったので、ベストアンサーは辞退します。

kojio-x
質問者

補足

回答有難うございます。 No.1さんとほぼ同じですが、やってみたところとりあえずその表に関してはうまくいきました。 ただ、http://okwave.jp/qa/q8063467.htmlで質問していますが別のシート(管理用シート)にシフト表の雛形を作成し、さらに月ごとにシートを作成し、マクロ(?)を使用して選択した場所にこの雛形の表を貼り付けするようにしています。この場合、貼り付けた表では思うように行かないのですが、この場合はどうすればよろしいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

前回のご質問に回答した者です。「管理用シート」というのができ上がったのですね。良かったです。 なるほど 10 行目以下ではなく、項目の並んでいる 9 行目を青く塗るのですね。今、気付きました。 それには条件付き書式を使いますが、他シートへの参照をしようとすると、ダイアログの終了時に、それはできないとのエラーメッセージが出ます。「管理用シート」の表をシフト表と同じシート上にコピペし、それを参照してください。 1. F9:AA9 のセル範囲を選択。 2. 普通のセルの書式として、好きな色を塗る。 3. AB9:AC9 のセル範囲を選択。(← F 列からではないので注意) 4. ホームタブ「条件付き書式>新しいルール>数式を使用して…」とクリック。ボックスに次の条件式を入力。 =vlookup($A9,$AG2:$AH366,2,)=1 5. 同じダイアログ内の「書式」ボタンから、好きな色を塗る。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

昨日も回答した通りですが。 あなたがヤリタイこと >「1」の場合は画像のF9:AA9のセルに色を付け、 >同じく「0」だった場合はF9:Y9のセルに色を付ける F9からY9は、1だろうが0だろうが関係なく色が付くので、そのまま色を塗ってしまって構いません。 Z9とAA9は、1の時にだけ色が付くので、昨日皆さんが教えてくれた通りに条件付き書式で色を付けます。 手順: 管理用シートの具体的なレイアウトが説明されていないので、A列に日付、B列に1かゼロを記入する事にします Z9とAA9を選ぶ 条件付き書式で新しいルールを開始する 数式を使用して…を選び =VLOOKUP($A$9,INDIRECT("管理用シート!$A:$B"),2,FALSE) と記入、書式ボタンでセルの色を塗らせる。

kojio-x
質問者

補足

有難うございます。 自分自身だいぶ頭の中を整理できてきたので、なんとなく理解できました。(前日の回答) ただ、日曜が祝前日だった場合はうまくいかないのではないかと思い、別表を作成して再質問させていただきました。 まずはご支持通りやってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2007 曜日によって別のセルの色を変え

    いつもお世話になり有難うございます。 表題が途中で入れていますが、日付を入力した時に、別のセルの色が変わるようにしたいのですが可能でしょうか。 先日http://okwave.jp/qa/q8063467.htmlにて質問させていただき無事解決したのですが、更に社内で要望があり、調べ方が悪いのか、どうしてもわからなかったためこちらで質問させていただきます。 ●シフト表を作っています。 ●日付を入力したら、その日営業している時間帯のセルだけに色をつけたいのですが、 ●月曜~土曜(10時~21時)、日曜・祝日(10時~20時)、祝前日(10時~21時)の3パターンで営業時間が異なります。 ●曜日ごとなら可能だと思うのですが、祝日判定がちょっとやっかいかもしれません。 ●でも可能ならやり方を、もしくは参考になるサイトをお教えいただけませんでしょうか。 何卒よろしくお願いします。

  • Excel2007で土日祝17時以降の勤務時間表示

    タイムカードの計算をしています。 土日祝の17時以降の勤務時間のみを表示させ、最後にその時間の合計を表示させたいです。 日付と曜日のB列、C列は別シートのカレンダーから参照させており、 カレンダーシートのB4に =IF(MONTH(A4)>$D$1,"",A4) ※A4には年月日が、D1には月が入っています。 カレンダーシートの曜日は =IF(B4="","",CHOOSE(WEEKDAY(B4,1),"日","月","火","水","木","金","土")) と入力しています。 また、カレンダーシートは年月を変えると祝日や曜日が変わるようにしており、 それらの曜日や日付けで条件付き書式を設定し文字色が変わるようにしています。 祝日は「祝日」シートで各年毎に「祝日11」等と設定しています。 で、本題ですがP列の17時以降の勤務時間を土日祝のみ表示させ、 その合計時間をP34に表示させたいのです。 分かりにくいかもしれませんが、ご教授お願いいたします。

  • Excel 会社カレンダーの曜日の色に関して

    いつもお世話になっています。 会社の勤怠管理をエクセルでおこなっています。 土日祝日等全く無視した会社カレンダーがあります。 各シート毎、社員に直接勤務時間を入力してもらうんですが、「会社の休日に色をつけてほしい」とリクエストがありました。確かに色をつけないと入力間違いなど多く管理が煩雑になります。 休日はよく変更されるので、20人以上のシート一つずつ変更するのは大変で、間違い等も起きています。 [質問] 例えば、「休日マスタ」というシートで一括管理して、それぞれのシートには、関数の中に「A:A」などという条件付き書式みたいなもので、マスタが変更されるたび日付欄の色が自動的に変更されるような仕組みはエクセルでできませんでしょうか。

  • 【Excel】今日の「曜日」に色を付ける方法

    Excelで店舗の休日一覧を作っており、各店舗ごとに手作業で休日の曜日を入力しています。 ————————————— 店舗A|木        | ————————————— 店舗B|火(祝日→水)  | ————————————— 店舗C|月、水、年末年始 | ————————————— 現在このような感じで入力してありまして、ここに、今日の曜日の「文字列」が含まれているセルに(色をつける等の)強調を施す条件を設定したいと思っています。 しかし、今日の日付に色をつけることはできるのですが、曜日に色を付けることができず困っております。 条件の式などの設定方法が分かる方見えましたら、ぜひ教えていただけますでしょうか。 宜しくお願い致します。 ※今日の日付と曜日は関数で呼び出すことができています ※Excel2011を利用中ですが、Googleスプレッドシートでも同じ表を作りたいと考えているので、そちらでも使える方法がありましたら、一緒に教えていただけますでしょうか

  • 色がついているセルのみを数える

    こんにちは。表題の件で、色がついているセルをカウント(COUNT関数)する方法、関数が見つかりませんので教えていただけたらと思います。  通常のものにはカウントせず、ただ色がついた行のセルのみカウントしたいと考えています。  それと条件がいくつかあります。  I:そのアイテムについてその日1日ごとの集計をとりたい(例えばj列にその日付が入力されているとします)  II:ある列(仮にH列とします)に0と入力されたものは色がついていてもカウントしないという条件です。  III:0と入力された行のデータの中で、別のセルに「○○」という文字があったら別の場所(仮にシート2とします)に1カウントする。  ××だったらシート3に。□□だったらシート4に1カウントする。    よろしくおねがいいたします。

  • 【エクセル】ある条件を満たせば、セルの色が変わるようにするには?

    例えば、A列に日付、B列に降水確率を入力し、もし降水確率が50%を超える場合は、セルの色が自動的に赤になるようにするには、どうすればよいのでしょうか? (1)降水確率を入力する前に、仕掛けを作っておくケース (2)日付、降水確率が既に入力されているシートを渡された時に、あとから(個別選択ではなく)何らかの簡単処理で、条件を満たすセルの色を変える場合 (1)(2)どちらか、お答え願います。 よろしくお願いいたします。

  • Excel/違うシートの中の同じ日付(数値)を探す

    みなさま。 少し困っております・・どうぞよろしくお願い致します。 Excelのシート1に日付の入った日程表があります。 日付の列は、納品があった日のみが記載されており 規則性がありません。 例えば、日付の列の3月15日の行に「○」と入っていた場合 隣のシート(納品管理簿)から3月15日の行を探し、同じ行の納品時間に 数値をいれないとセルが赤くなるように、また数値を入れると 色が消えるように設定したいと考えています。 セルの色を自動的に変えるのはいろいろ調べてみてできそうだったのですが 違うシートから同じ数値を探し出して、その行の別のセルに反映させるのが どうしても複雑でわかりません・・ 詳しい方がいらっしゃいましたらぜひ教えてください。 よろしくお願い致します。

  • セルを見て1・2・3か月後それぞれに色を付けたい

    Excel2010を使用しています。 有効期限を管理するファイルを作ろうと考えています。 H1のセルにtoday()関数にて日付が入れて、D列には日付を入力しようと思います。 H1を参照してD列の月のみをみて条件付き書式でセルに色を付けたいと思っています。 日にちに関係なく、月のみを見て、1か月後・2か月後・3か月後でセルに色を付けることは可能でしょうか? 2014/7/10だと2014/10/31も3か月後として色を付けたいのです。 DATEDIF(H$1,$D3,"M")=1をやってみたのですが、日にちまで見てしまうようで、2014/10/31のセルには色が付かないのです。 宜しくお願い致します。

  • 【Excel】別シートに情報が、あるか、ないか

    タイトルの件、質問いたします。 下記の画像をご覧ください。 【やりたい事】 sheet1にある、管理番号が、Sheet2にあるのか、ないかを調べ されに、あれば、それが、A地域かB地域かの情報も含めて sheet1のB列に表示したい です。 例:sheet1の管理番号01は、Sheet2にもある。さらに、同番号は、sheet2より A地域である。よって、B2セルに関数で、【あり、A地域】と表示したい です 例:sheet1の管理番号が、sheet2に無ければ、sheet1のB列に【なし】と表示したいです パターンは全部で3通りのみです 1:あり、A地域 2:あり、B地域 3:なし 以上、ご存知の方、いらっしゃいましたら、宜しくお願いします。 【環境】 エクセル2002 sheet1の管理番号が、sheet2に、1つあるか、ないかのどちらかです。2つあるということは ありません。 sheet2の管理番号は、あるものは、必ず、A地域かB地域の情報があります。 sheet2に管理番号が、無い場合は、A列の地域情報もありません。

  • 一定条件のセルがある行全体に色を付け、編集しても色が移動しないようにしたい

    1日を6行に分けた年間予定表を作成しております。 年度初めを第1週として、月曜日をその週の第1日目として A列に週数、B列に第n日、C列にその日のコマ数(1~6)、D列にA列とB列を利用して研鑽式で求めた日付、E列に曜日、F列に祝日名が入っています。 表してみると以下のような感じです。 A   B   C   D   E   F [1] 1   1  4/2  (月)   1 [2] 1   1  4/2  (月)   2 [3] 1   1  4/2  (月)   3 [4] 1   1  4/2  (月)   4 [5] 1   1  4/2  (月)   5 [6] 1   1  4/2  (月)   6 [7] 1   2  4/3  (火)   1  祝日 [8] 1   2  4/3  (火)   2  祝日 ・ ・ この予定表に、土曜日の行にはパターンで青色、祝日の行にはピンクをつけたいのです。 既出の質問 No.2066796(http://oshiete1.goo.ne.jp/kotaeru.php3?q=623453)を参考に 条件付き書式でやってみてうまくいったのですが、G,H,I・・・ 列に入ってくる予定を編集(行の削除や挿入)する際に、一緒に移動してしまいました。 毎年流用できるように、編集しやすくするために色を付けたいのに、その色が移動してしまうのでは、不都合です。 よそからデータをコピペしてきても、その行はきちんと色が付くようにするにはどうしたらよいでしょうか? もちろんVBAの使用はOKです。 (ウィンドウ枠の固定も利用しておりますが、色も付けたいです)。

専門家に質問してみよう