• ベストアンサー

エクセルでVLOOKUPの結果を含むセルの行色を

エクセルで以下のことをVBAなしに達成できますでしょうか? シート1のあるセルに値を入れると… 1) Vlookupでシート2から必要な値を見つける。 2) 1)で見つけた値をもとに、シート1のセルでその値を含む行全体の色を変更する VLOOKUPで値を引っ張ってきた後、条件付書式をどうすればよいのかわかりません。 よろしくお願い致します。

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

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

>2) 1)で見つけた値をもとに、シート1のセルでその値を含む行全体の色を変更する 「その値を含む行」とはVLOOKUP数式の行ではなく、別の行範囲(例えば検索する列はB列)ということで良いのですね。 条件付き書式を設定したい対象範囲(例えばA2セルからG100セル)を選択し、数式を使った条件付き書式で「=$B2=VLOOKUP関数の数式セルの絶対参照」のような数式(特定の値が文字列の場合)にします。 #ご質問にはご使用のエクセルのバージョンが明示されておらず、またシート1のレイアウトなどが具体的に提示されていないので一般的な回答になりましたが、Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記し、シートのレイアウトなども具体的に例示するようにしましょう。

piyo-maru7
質問者

お礼

ご回答ありがとうございます。 説明が足りなかったようで、もう少し詳しく書きます。 利用しているのはExcel2010です。 参照用シートにはアドレステーブルが入っています。 本シートにもテーブルがあり、ロケーションコードを単独入力するセル(G1)があります。 仮の話としますが、こちらの本シートには郵便番号がB列に含まれています。 上記のセルに、ロケーションコードを入力すると別シートのアドレステーブルから郵便番号を取得して、本シートにおいてそのデータを含む行を条件付き書式で色変更する、というのが目的です。 一気にやらずにひとつずつ、と思ったのでまず適当なセル(H1)に=VLOOKUPで郵便番号を表示させました。その後、そのセルと同じ値なら色を変えるという条件を立てたのですがうまくいきませんでした。条件式には =$B1=$H$1 などとしたと思います。すべてを条件式内で済ませれば動作するのかも知れません。 手元に実シートがないのですぐに確認できず、すみません。

その他の回答 (2)

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

>その後、そのセルと同じ値なら色を変えるという条件を立てたのですがうまくいきませんでした。条件式には =$B1=$H$1 などとしたと思います。すべてを条件式内で済ませれば動作するのかも知れません。 B列に郵便番号が入寮されていて、H1セルに色を付けたい郵便番号が表示されているなら、基本的に上記の数式でOKです。 ただし、上記の数式を適用する場合は、例えばB2セル以降に郵便番号が入力されている場合、条件付き書式を設定したい範囲を選択するとき、A2セルから表示したいデータ範囲を選択して設定した場合は、上記の数式を「=$B2=$H$1」のようにアクティブセルを基準とした行の数式に変更する必要があります(手もとに元データが無くても、ご自分でモデルデータを作成して、条件付き書式がうまく作動するか調べてみてください)。

piyo-maru7
質問者

お礼

返信が遅くなり大変申し訳ありません。 なかなかうまくいかなかったのですが、結局データタイプをいろいろ変えているうちに動作するようになりました。頭に0がくるデータがあったので文字列扱いにしてあったのですが、参照元と参照先それぞれ数値にしたらうまくいきました。 数式自体は皆様のおっしゃるとおりでした。 ありがとうございました。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

1はできますか? できるのであれば、あとは色を変更したいセルの色を変えるように「条件付き書式」を設定をすればOK。 他のシートの値をVLOOKUP関数で参照するには、参照範囲を絶対参照する必要があります。 絶対参照するってて結構面倒ですので、参照する範囲に名前を付けることをお勧めします。 名前を付けた範囲は絶対参照で参照されるので数式の記述が楽になります。  =VLOOKUP(A1,参照範囲名,1) のようにして使います。 で、比較したいセルが1列だけなら  =$A$1=VLOOKUP(A1,参照範囲名,1) のように色を変えたいセルに対して条件付き書式を設定すればOK。 ※=IF($A$1=VLOOKUP(A1,参照範囲名,1),TRUE)   と同じです。 複数列の中から比較するなら  MATCH関数 を使って同じ値があるかチェックです。 でもって条件付き書式を設定。  =$A$1=MATCH(VLOOKUP(A1,参照範囲名,1),$A1:$D1,0) のようにね。 ≪注意≫  回答文では英数字を全角文字で入力していますのでコピーして使うときは留意してください。

piyo-maru7
質問者

お礼

申し訳ありません。実データが今手元にないのでうまく確認・再現することができません。 VLOOKUPを使って、必要なデータを引っ張ってくることはできます。おっしゃっている「比較したいセルがひとつ」というのがよくわかりませんでしたが、参照時の返り値はひとつで十分です。 ただ、参照後のもとのページではそのデータを持つ該当行を全体を赤くしたいのです。 書式条件式には=$B1=VLOOKUP(XXX)でよいのでしょうか?

関連するQ&A

  • vlookupの結果があるセルの書式を取得したい

    vlookupの結果があるセルの書式を取得したい =VLOOKUP(検索値,範囲,列番号,検索の型)で値を取ってくることは 出来ますが、その値の入っているセルの書式を取得したい。 Sheet1の セルA1に、検索したい値が入っていて、 セルB2にVLOOKUP関数が入り。 範囲はSheet2のA1:D1000となっていて、 列番号に4と入っていて10行目に 検索値と一致する値が入っていた場合に、D10の値は VLOOKUP関数で持ってこれますが、D10のセル書式を セルB2に反映させたいのですが、どのようにすれば良いでしょうか? VBAでプログラムしないとダメでしょうか?

  • Excelで、選択したセルがある行を色を変える。

    MS Excelで、選択したセルがある行を色を変える方法を知りたいです。 たぶん、条件付書式だったと思ったのですが、 回答よろしくお願いします。

  • excelで、セルの色を他のシートのセルと同じにする。

    EXCELで、Sheet2のセルA1の色を、関数か条件付書式を用いて自動的にSheet1のセルA1と同じにできますか? マクロは使いません。 Winxp & excel2003 です。宜しくお願いします。

  • エクセルでセルの書式設定が表示されないことがある

    エクセル2002で,書式->セルででるはずの,書式設定画面がでません。無反応です。 同じシート内でも,書式設定も値の入力していないセルでは,設定画面はでます。 入力しているセルには,条件付き書式で色を偶数行・奇数行で変えています。また,折り返して表示にしてしています。 また,いつでも起こるというわけではなく,だたし一度起こると,元には帰りません。 新しいシートに,シート全体を値のみコピーして,書式設定を改めてやると,治ったのですが,また同じ症状がでてきました。

  • エクセルのセルの色

    こんにちは。 エクセルで、例えばA1の値が1だったらA1~W1の範囲のセルをピンクに、A1の値が2だったらA1~W1の範囲をブルーにといった設定はどのようにすればよいのでしょうか。A1が1ならA1をピンクにというのであれば条件付書式でできるのですが、他のセルの値に応じて色を変えるのはまた別になるのでしょうか。よろしくお願いします。

  • エクセルの行の色を変える

    こんにちはtmgmです。 エクセルの使い方でちょっとわからない部分があって困っています。 今、2行3列(A1~C2の6つのセル)の表があるとします。このときC1セルに数字を1と入力したら1行目の色が赤くなるようにするにはどうすればよいのでしょうか? 自分的には条件付書式やif関数等を駆使すればできるんではなかろうかとおもっているのですが、チャレンジするもののいまいちわかりません。 どなたかお分かりになる方いらっしゃいますでしょうか? ご返答よろしくお願いします。

  • 条件付書式で「=#N/A」に色を付けたい

    オフィス2007です。 該当のセルには、VLOOKUP関数が入っているのですが 「=#N/A」になる個所を作ってあります。 その「=#N/A」に対して条件付書式で色を付けたいのですがどうすればいいでしょうか? 条件付書式→新しいルール→ 上から2行目の「指定の値を含むセルだけを書式設定」で 「セルの値」「次の値に等しい」「=#N/A」としましたが何も起りません。

  • エクセルでセルに色をつける

     エクセル2003を使用しています。 数値をランク付けしてセルに色をつけたいのですがランクが1から6まであり条件付書式を活用しようと思ったら3つの条件までみたいで困っております。1から6まですべて違う色のセルにしたいのですが、なにか、いい方法はないでしょうか?

  • エクセルで、特定の行に色づけしたいのですが

    エクセルの「条件付書式」で、ある行全体に、色をつけたいのですが、 どのようにしたらいいのでしょうか。  答えのセルだけは、色づけできるのですが、その答えのある行全体 に、色をつけたいのです。 例 住所 氏名 電話番号 年齢   上の場合、年齢が、20歳の人の行を、全てに色をつけたいです。 よろしくお願いします。

  • エクセル 色つきセルのみの表示

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に文字データがあります。条件付書式で重複セルに色をつけてあります。 この色をつけたセルだけを表示させる方法を教えてください。 実際に色を付けてあれば検索で処理できるようですが、条件付書式でのやり方をネット上で探せませんでした。よろしくお願いします。

専門家に質問してみよう