EXCEL2003 別シートを参照する条件付書式のINDIRECTの使い方

このQ&Aのポイント
  • 別シートを参照する条件付書式のINDIRECTの使い方について教えてください。
  • 表のH列がブランクではない時にI5:U6に条件付書式を入れたいと思っています。
  • 設定したい条件を可能にするにはどのようにしたらいいのでしょうか?
回答を見る
  • ベストアンサー

EXCEL2003 別シートを参照する条件付書式のINDIRECTの使

EXCEL2003 別シートを参照する条件付書式のINDIRECTの使い方 いつもお世話になっております。 別シートを参照する条件付書式のINDIRECTの使い方について教えてください。 現在シートが2枚(表とLIST)あり表のH列がブランクではない時に I5:U6に条件付書式を入れたいと思っています。 シート構成は以下の通りです。 -------------------------------------------------------------- 設定したい条件(例:I4/4月度の氏名:「ああ」の場合) H5がブランクではない時 シート:表のI5の値(320)が シート:LISTのBK3より(設定された値/4月度の氏名:「ああ」は293)より 大きい場合に赤の太文字にしたい -------------------------------------------------------------- ブランクではない場合はH5<>"", LISTの値を見る(ああの4月の値を出す)数式は 以下の式を使ったことがあるのですが =SUMPRODUCT((LIST!$BF$3:$BF$147=F5)*(LIST!$BK$2:$BV$2=I4)*(LIST!$BK$3:$BV$147)) この組み合わせ方や別シートを参照するINDIRECTの使い方がわかりません。 設定したい条件を可能にするにはどのようにしたらいいのでしょうか? ご教示お願いいたします。 シート:表(I4:U4は4月:3月の意味です)       F     G    H      I    ・・・   U 4 No.   氏名   区分    4       5   ・・・   3 5 11    ああ   AA    320    310  ・・・   300 6 12    いい   AB    295    200  ・・・   280 シート:LIST(BF2:BV147で1ヶ月の制限の値が入った表です)   BF   BG    BK   BL・・・  BV 2   No.   氏名    4     5・・・   3 3  11   ああ    293    263・・・290 4  12   いい    295    300・・・293

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

条件付き書式で他のシートを参照する場合には、それらの範囲に名前を付けて対応するのがよいでしょう。 例えばLISTのシートではBG列を選択したのちに「数式」タブの「名前の定義」で名前の窓に 氏名範囲 とでも入力してOKします。また、BK列からBV列までを選択してから同じ操作で名前の窓に 月範囲 とでも入力してOKします。 その後に表シートではI5セルからT1000セルまでを範囲として指定したのちに「ホーム」タブで「条件付き書式」を選択して、条件付きの式の窓には次の式を入力してから書式を設定してOKします。 =I5>INDEX(月範囲,MATCH($G5,氏名範囲,0),COLUMN(A1))

orange1010
質問者

お礼

レスありがとうございます。 ご指導いただいたとおりやったところできたのですが、 先に設定していた下記条件が青になってしまいました。 ひとつにまとめなければいけないということなのでしょうか? 320を越してしまった時は赤の太文字にするという式 =AND($H5<>"",I5>320)

orange1010
質問者

補足

失礼しました。 違いますよね・・・ひとつにまとめたら書式設定ができないですよね。 LISTの該当する時間を越して320未満のものとしなければいけなかったので・・・ >320をどこに書き足せばいいでしょうか? 引き続きご教示お願いできますでしょうか?

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

質問例を再現するのにえらく時間がかかった。 もう少し質問の表現に工夫して、読者・回答者の負担を軽くすることを考えるのが、質問者の務めではと思うが。 ーー 例えば、質問表現は 今年と去年の月別12ヶ月の個人の計数表があります。(各月の列は両表でデータの在る列が違います) ある個人の今年の計数が、去年の同月より良い(大の)場合は、今年の計数のセルに色をつけたい。 これなら、2行で済むではないか。 そして現質問に近い実例を挙げる。 ーーー 条件付き書式では、他シートのデータを比較に使おうとすると、「抽出条件:条件付書式で、他のワークシートまたはブックへの参照は使えません」とエラーなる。 この解決策は、セルへの名前の設定で凌ぐことである。 例えばSheet4のC2とSheet3のB2(わざとヅラしてある)を比べるときは Sheet4のC2に「aa]の名前をつけたとき Sheet3で「数式が」で =B2>aa を入れて、パターン色設定で実現する。 ーーー この例の場合は4月ー来年3月までと多セルについて考える必要があるので 例 Sheet4 C1:F1 4月 5月 6月 7月 (8月以降は説明を短くするため省略) の見出しに、「月名」と名前をつける。 ーー データも含めて名前をつける。 例 Sheet4 C1:F2 4月 5月 6月 7月 24 11 34 23 Sheet4でC1:F2を範囲指定し 挿入ー名前ー定義ー「月」で名前をつける。 ーー Sheet3で B2:E2を範囲指定して 書式ー条件付き書式ー数式が、で数式に =B2>INDEX(月,2,MATCH(B1,月名,0)) これでB2:E2の値を変えると、対応したSheet4の月と比較して、大の場合セルに色が付くようだ。 ーー 残るは同じ氏名(例 ああ)の行を捉えることだ。 名前(か氏名NO)を使いMATCH関数でSheet4の氏名列「ああ」などの行を探し、上記の式の「月、2」の2のところへ、MATCH関数式で置き変える。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

他シートを参照する条件付き書式をINDIRECT関数を使って作成するときは以下のような手順が汎用性があり簡単かもしれません。 まず条件付き書式を付けるセル1つを選択し、他シートを参照する条件付き書式の数式を入力し、「ツール」「オプション」の全般タブで「R1C1形式を使用する」にチェックを入れます。 次に他シートを参照する部分、例示の数式なら「LIST!R3C58:R147C58」の部分を「INDIRECT("LIST!R3C58:R147C58",FALSE)のようにその文字列部分を「""」で囲んだ数式にします。 数式バーからこの数式をコピーし、そのセルをアクティブセルとして条件付き書式の数式として登録します。 最後にツール」「オプション」の全般タブで「R1C1形式を使用する」のチェックを外します。

関連するQ&A

  • EXCEL2003 条件付書式が狂ってくる

    条件付書式は、見ためにどのセルに入っているのかわからないというのと、複数の条件付書式が入ると、なぜかその前に決めていた条件付書式が消えてしまっているということがあって、なかなか不便に思っています。(やりかたが悪いのかもと思うのですが) それで、VBAの entireculumn というのを見つけたのですが、 これで対応できるでしょうか? やりたい事は、 1 2*--------------------------- 3*--------------------------- 4 5 6*--------------------------- 7*--------------------------- 上記のように、「*」をつけた行にだけ、行全体に色をつけておく、 というのを条件付書式で、 「数式が」「=$A1="*"」 としたもので、その設定をしているシートに、横にずっと、いろんな関数を入れていってます。 ですが、関数を入れたり、そのプロセスで列挿入などすると、 色がずれてしまうのです。 その回避策として、VBAで最初に色の設定をしておけないでしょうか? 「*がある行だけに色をつける。」 よろしくお願いします。

  • 条件付書式 しましまともう1つ書式を設定

    エクセルの表をしましま(1行ごとにグレー)にしたいのですが、 条件付書式で、"=AND(MOD(ROW(),2)=1)" を設定すればしましまにできるところまでは分かりました。 ですが、すでに、*の書いてあるセルを網掛けにする条件付書式が入っているセルがあります。 (条件付書式で、セルの値が 次の値に等しい ="*") *の入っているセルは、網掛けで、かつ、しましまにしたいのですが、 そのような設定は可能なのでしょうか?

  • 条件付書式

    エクセルで条件付書式を数式で入力しています。 =COUNTIF(N26:BK50,A82) 例えば上記のような形で入力を行なっていますが このN26:BK50の中で赤色の文字だけに 条件付書式を当てはめる事はできないでしょうか? どなたか分かる方宜しくお願いします。 どうしても数ある同じ文字列の中で赤色のA82だけを捜してきたいのですが・・・

  • 【Excel】条件付書式について

    Excel2003を使用しています。 ある特定の値(文字列)が入力されたら、同行のある範囲のフォントを白にしたいのですが、条件付書式でできるのでしょうか? (条件付書式はあまり使用したことがなく、条件の設定の仕方がイマイチわかりません。。。) 例えば、O1に○と入力されたら、B1:N1のフォントの色を白にしたいです。B1:N1のデータは他で使用しますが、プリントアウトする際(見た目)には表示させたくないので… 条件付書式では不可能ならば、関数やマクロでも構いません。 マクロについては初心者ですので、参考までにコードを書いていただけると大変助かります。 よろしくお願いします。

  • ACCESSの条件付書式

    アクセスのデータシートビューで条件付書式ができるのは フォームをデータシートビューで表示したときだけでしょうか? テーブルやクエリでは ツールバーに「書式→条件付書式」は表示されませんが フォームのデータシートビューを開いている時のみ、 「書式→条件付書式」が表示されます。 テーブルやクエリでも条件付書式を設定できる方法があれば教えてください。 よろしくお願いします。

  • 条件付書式でセルの指定が別の英数に変わる

    ctrlで2つの範囲を指定した状態で、条件付書式を設定しています。 ところが、ところどころ指定が書き換わり、正確な書式設定になりません。(エクセル2000と2003の両方で試しました。) 条件付書式は、 セルの値が次の値に等しい =MAX($C11:$H11,$C28:$H28) ですが、うまくいっていない部分(次の行)を書式設定で見てみると セルの値が次の値に等しい =MAX($C65531:$H65531,$C12:$H12) となっています。 次の行は セルの値が次の値に等しい =MAX($C12:$H12,$C29:$H29) となって欲しいのですが、どのような操作で指定するとうまく行くのかお教えください。

  • エクセル 条件付書式 別シート参照 について

    エクセル2007で、条件付き書式でsheet1の入力に対してsheet2の書式を変更したいのですが できずにいて困っています。 教えてください。 具体的にやりたいこと sheet1 の 入力に対して sheet2のそれぞれに対するセルの色を変えたい。 「sheet1のA1」に"a"が入力されたら 「sheet2のA1」 の背景色を 青 にする。 といったことをある範囲(たとえばA1:H20)でやりたいのですが どうしてもうまくいきません。 sheet2 で A1:H20 の範囲を選択して =INDIRECT("sheet1!"&ADDRESS(ROW(A1),COLUMN(A1),1) と入れてみたのですが、うまくいきません。 わかる方アドバイスいただけますか?

  • 条件付書式の設定

    こんばんわ。うまく説明できないかもしれませんが、 たとえば、下のような表があります。   A B C 1 100 200 300 2 3 150 200 150 で、A3のセルがA1より大きい値ならセルの背景をかえる。B3のセルがB1より大きい値ならセルの背景をかえる。C3の値がC1より・・・という具合に列毎に条件がかわる場合、ひとつひとつ条件付書式を設定する以外に、簡単に書式設定できないでしょうか。 教えてください。よろしくお願いします。

  • 条件付書式で

    条件付書式を使い以下の作業をしたいのですが、方法が分からないので ご協力お願い致します。 (A1)順位(B1)店舗(C1)構成比(D1)前年比の表があります。 順位は構成比の多い順に並び替え。 順位に条件付書式で、構成比25%以上、前年比95%以上の店舗 上位3店舗に色づけをする。という条件付書式を使用したいのですが。 どのようにいたらいいのか分かりません。 ご回答お願いします。

  • VBA 条件付書式の条件にあっているか

    条件付書式の数式に該当したセルの内容のみ拾ってくるVBAの作成を 試みています。 アンケート用紙は以下のようになっています。 A1 男性     B1 年齢 A2 ///////// A3 A4 /////// A1の性別B1の年齢から判断して条件付書式下記のよう式が入っています。  (A2  =COUNTIF($A$1,"女*")>=1   A3  =COUNTIF($A$1,"男*")>=1   A4  =COUNTIF($A$1,"*男*")>+COUNTIF($B$1,"2*")>=1  ) ただその際にA2/A4は網掛けになっているのですが場合によって前回の 回答を消去せずにアンケート表が作成されていることがあり、網掛け部分の 数値も拾ってきてしまい集計表が正しくなくなってしまいます。 集計表に情報を取ってくる際に、条件付書式がTrueの場合、または書式 が白抜きになっている場合で条件分岐したいので教えてください。 方法としては下記のようになるかと考えています。 ・セルに条件付書式がひとつ以上設定されている。(今回は条件は一つです) ・その条件が、値か式か。(今回は式です) ・式であったら、その式をVBA上で実行してTrueかFalseか判断する  (または書式のタイプを取得する) ですが、書ける知識が乏しくて・・・ よろしくお願いします。

専門家に質問してみよう