- ベストアンサー
Excelの条件付き書式で要件を満たす方法
- Excelの条件付き書式を使用して、特定の条件に合致するセルを塗りつぶす方法について教えてください。
- 質問者は、特定の条件(例:営業部、女性など)に基づいて、セルの塗りつぶしを自動化したいと考えています。
- 現在、VLOOKUP関数を使用して条件付き書式を設定しようとしていますが、複数の条件の一致に対応するためにワイルドカードを使用しようとしていますが、うまくいっていません。他の関数を使用する方法や、データの配置方法についてアドバイスをいただけますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
確認する手順を整理してみましょう。 いきなり条件付き書式に関数式を書くのではなく、 空いているセルに関数式を書いて条件によって正しく TRUE または FALSE になることを確認してから条件付き書式として書き込むと良いでしょう。 (基本的にセルに書き込む関数式がそのまま使えます) VLOOKUP関数で「営業」とか「女性」の欄に該当する「氏名一覧」を検索するのは大丈夫ですね。 検索できたら、その「氏名一覧」の中に「該当する名前があるか」を調べましょう。 ※質問者さんはこれができていないんですね。 文字列の中から特定の文字列を探すには・・・SEARCH関数を使えばOK。 VLOOKUP関数まではOKですので、これにSEARCH関数を組み合わせて =SEARCH($B7,VLOOKUP($B$3,$B$14:$C$17,2,0),1) とでもしてみましょう。 どこか空いてるセルにコピペして動作を確認してみてください。 (当方、Excelを起動できる環境にありませんw) 条件に合えば1以上の数値 合わなければエラー が返ってきます。 エラーの場合、条件付き書式では条件不成立として扱われるので深く考えなくてOK。 コレで良ければそのまま条件付き書式の数式に入れちゃいましょう。 VLOOKUP関数で VLOOKUP($B$3,$B$14:$C$17,2,0) と最後に「,0」を追加していますが、 これは昇順に並んでいない不特定の文字列を検索しているので検索条件にFALSEを設定するためです。 数値や昇順に並んでいる文字列ならTRUE(1)でも良いんですけどね。 でもって、この検索条件を省略するとTRUEとして検索しちゃうんです。 以外と見落としがちなんです。これ。
お礼
早くの回答、ありがとうございます。!(^^)! アドバイスいただいた =SEARCH($B7,VLOOKUP($B$3,$B$14:$C$17,2,0),1) という式で、一致すれば1以上が返ってくるのが確認できました。( *´艸`)すごいです!! 条件付き書式はB7からの人名リストに適用するので、 =SEARCH($B7,VLOOKUP($B$3,$B$14:$C$17,2,0),1) だけだと人名と1が一致しないのでできませんから、 返ってくる値が0以上なら一致したとみなす、という形にするため、 =0<SEARCH($B6,VLOOKUP($B$3,$B$12:$C$15,2,0),1) このようにしました。 サーチは知っていましたが、VLOOKUPにこだわりすぎていたのか、思いつきませんでした・・・・ 本当にとっても助かりました!! ベストアンサーにさせていただきます(^_-)-☆ ありがとうございました~~