• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 条件付書式 別シート参照 について)

エクセルの条件付書式で別シート参照する方法

このQ&Aのポイント
  • エクセル2007で、条件付き書式でsheet1の入力に対してsheet2の書式を変更する方法を教えてください。
  • 具体的には、sheet1のA1に'a'が入力されたら、sheet2のA1の背景色を青にしたいです。
  • 試しに、sheet2でA1からH20の範囲を選択し、=INDIRECT("sheet1!"&ADDRESS(ROW(A1), COLUMN(A1), 1)と入力してみましたが、うまくいきません。アドバイスをいただけませんか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

続けてお邪魔します。 >Sheet2の条件付書式をしようする範囲が A1~H20等の 左端からでしたらできるのですが >範囲を D5~K30 などに変えたとたん反応しなくなってしまいました。 そういうコトでしたかぁ~~! それでは条件付き書式の数式を =INDEX(範囲,ROW(A1),COLUMN(A1))="a" として書式を設定してみてください。 おそらく大丈夫のはずです。 ※ Sheet1に限らず、 どのSheetでも範囲指定した配置で対応できるはずです。m(_ _)m

_-megu-_
質問者

お礼

 tom04さん  ありがごうこざいます!!!  うまくいきました!!  感動しました!!!  こういう関数を自分の知識で作れるようになりたいです。  ROW関数もCOLUMN関数もいまいち理解できてないので  もっと勉強して、エクセルともっと便利に使いたいです。  本当に色々とありがとうございます。  また、何かあったら相談にのってください。  ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です。 >早速、名前を定義して >同じ数式を入れてみたのですが、 >なぜかうまくいきません。 ん~~~ ↓の画像は今Excel2007でやってみました。 左側がSheet1で右側がSheet2になります。 こちらではちゃんと画像のように塗りつぶされました。 考えられる原因といってもなかなか思いつきません。 今一度ちゃんとSheet1のA1~H20セルが「名前定義」されているか確認してみてください。 名前ボックスの右側にある下向き▼をクリックすると、名前定義されていれば「範囲」と表示され それをクリックすればSheet1のA1~H20セルが選択されるはずです。 数式に間違いがなければその程度しか思いつきません。 他の原因ならごめんなさいね。m(_ _)m

_-megu-_
質問者

お礼

 ありがとうございます。  私も同じようになってみました。  確かにできるのですが  Sheet2の条件付書式をしようする範囲が A1~H20等の 左端からでしたらできるのですが  範囲を D5~K30 などに変えたとたん反応しなくなってしまいました。  参照する範囲(名前をつけた範囲)はどの場所でも大丈夫でした。  どのようにしたらいいか、どうか力を貸してください。  お願いします。  具体的にやりたいことは  部活のメンバー表を作り(縦に名前、横に日付 の表があり)  そのメンバー表を何枚もシートにコピーしています。  はじめのシートを出欠表として、欠席者に"a"を記入  すると、ほかのシートの欠席者の欄をグレー表示にしたいのです。  ほかのシートをコメント記入したり、メニューの達成回数など  色々な管理に使いたいと思っています。  

_-megu-_
質問者

補足

 具体的にやりたいことは  部活のメンバー表を作り(縦に名前、横に日付 の表があり)  そのメンバー表を何枚もシートにコピーしています。  はじめのシートを出欠表として、欠席者に"a"を記入  すると、ほかのシートの欠席者の欄をグレー表示にしたいのです。  ほかのシートをコメント記入したり、メニューの達成回数など  色々な管理に使いたいと思っています。  A/B/C列には 縦に番号、名前、など  1/2/3行には 通し番号、日にち などを入れた 表をベースにして作っていきたいのです。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 Sheet1の参照範囲を「名前定義」してみてはどうでしょうか? Sheet1のA1~H20セルを範囲指定 → 名前ボックス(画面左上のセル番地が表示されているところ)の 「A1」を消去し → 仮に 範囲 と入力しOK これでSheet1のA1~H20セルが「範囲」と名前定義されましたので Sheet2のA1~H20セルを範囲指定 → 条件付き書式 → 新しいルール → 「数式を使用して・・・」 → 数式欄に =INDEX(範囲,ROW(),COLUMN())="a" という数式を入れ → 書式 → 塗りつぶし → 「青」を選択しOK こんな感じではどうでしょうか?m(_ _)m

_-megu-_
質問者

お礼

アドバイスありがとうございます。 早速、名前を定義して 同じ数式を入れてみたのですが、 なぜかうまくいきません。 何がいけないのでしょうか? 考えられる原因があったら、またアドバイスください。 よろしくお願いします。

回答No.1

=indirect("sheet1!$a$1")="a" などで、うまく行くのではないかと思います。勿論、ADDRESS 関数を混ぜても問題ありません。ニーズにより、「$」を適切な位置に付けてください。

_-megu-_
質問者

お礼

すぐ解答いただきありがとうございます。 条件付書式の数式の欄に入力してみたのですが うまくいきません。 数式の部分の何がうまくいっていないのか よくわからなくて。 何かほかに思いついたらまた、教えてください。 ありがとうございました。