• ベストアンサー

エクセル初心者で質問です。

エクセル初心者で質問です。 セルのA1からA200までに様々な文字が書いてあり、B1からB20とC1からC20の範囲にもいろいろな文字が書いてあります。このA1からA200にある文字を、B1~B20とC1~C20の範囲から探しだし、色付けをしたいです。どのようにすれば良いでしょうか? 教えてください。

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

  • ベストアンサー
  • Tofu-Yo
  • ベストアンサー率33% (36/106)
回答No.2

A1~A200のセルについて、B1~B20に一致するものは赤、C1~C20に一致するものは青に色付けする、という解釈でよいでしょうか。 であれば、既に回答された方のとおり、条件付書式を使用します。条件に使用する数式は検索する数式ならVLOOKUPでもよいですし、MATCHでもかまいません。ちょっとだけ短くなるのでここではMATCHを使用します。なお、B1~B20とC1~C20に重複する入力はないことを前提とします。 1.A1~A200の範囲を選択 2.書式(O)→条件付き書式(D) 3.一番左のコンボボックスに「セルの値が」となっているのを「数式が」に。 4.右のテキストボックスに「=1-ISNA(MATCH($A1,$B$1:$B$20,0))」と入力。 5.「書式(F)」をクリックし、「パターン」で赤を選択し、「OK」をクリック。 6.「追加(A)>>」をクリック。 7.条件2を、さっきと同様、「数式が」にしてテキストボックスを「=1-ISNA(MATCH($A1,$C$1:$C$20,0))」とする。 8.「書式(O)」をクリックし、「パターン」で青を選択し、「OK」をクリック。 9.「OK」をクリック。 なお、条件付き書式には最終的にtrueかfalseが返るような式を入力します。それがtrueのときに設定した書式にしてくれます。MATCH($A1,$B$1:$B$20,0)は$B$1:$B$20から$A1を探して何番目にあったかを返し、なければ「#N/A」を返すという意味です。ISNA(~)は~が「#N/A」ならTRUE、そうじゃなければFALSEを返すという意味です。TRUEは1と同値、FALSEは0と同値に扱えるので、逆に返すために1-~としています。最終的に「$B$1:$B$20から$A1を探してあったらtrue(=1)」となるようにしています。

haru0112
質問者

お礼

ありがとうございました。試してみます!!

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

vlookupを使って、条件付き書式を併用すれば良いのではないでしょうか。

haru0112
質問者

お礼

早々の返信ありがとうございます。実は、その「vlookupを使って、条件付き書式」をどう使うのか、そのやり方させもわかりません。具体的に教えていただけますか? よろしくお願いします。

関連するQ&A

  • エクセル2003での質問です

    エクセル2003での質問です  例として、ですがA1のセルに「あ」、B1のセルに「い」とした時に、C1のセルに「あい」と  文字列を一つのせるにまとめる事は出来るのでしょうか? たんに、関数を使ってA1+B1では駄目だったので出来るかどうか分かりませんでしたので よろしくお願い致します。

  • ExcelのVBAで複数の範囲を指定したいのですが

     ExcelのVBAの全くの初心者です。(PC全般については、多少はわかるつもりですが)  R1C1参照という形式を使って、複数のセル範囲を色付けするため指定するにはどのようにすれば良いのでしょうか?  例えば、アクティブセルにA25が指定されていて、A4~C7とE4~F10とI4~I8までを色付けしたいなどという場合。  色付けなどは、わかるのですが、複数の範囲指定がわからないのです。よろしくお願いします。

  • EXCELの重複チェック

    エクセルで重複する文字列のセルに色付けしたいです。ただ重複する文字列を同色でカラーリングすることはできるのですが、同じ文字列毎に色を変えることは可能でしょうか。 下の例でいうと、Aは赤、Bは青、Cは緑、、、、というイメージです。 例) A B B C C C C A B C

  • エクセル2003のVBAで質問です(当方初心者です)。

    エクセル2003のVBAで質問です(当方初心者です)。 セル内に入力した文字の一部を別のシートの指定したセルにコピーしたいのですが、上手くいきません。 例えば、 sheet1には A1 猿2上野 A2 牛3旭山 A3 亀2横浜 と入力されていて、 sheet2では A1 猿  B1 2  C3 上野 A2 牛  B2 3  C2 旭山 A3 亀  B3 2  C3 横浜 となるように入力したいのです。 コマンドボタンを押したときにそうなるようにしたいと考えています(コマンドボタンの使用などは上手くいっています。) character関数などを用いても「このプロパティまたはメソッドをサポートしていない」と上手くいきません。 宜しくお願いいたします。

  •  エクセル2003で条件付き書式での色付けを5つ以上設定したいのですが

     エクセル2003で条件付き書式での色付けを5つ以上設定したいのですが、VBAで対応するしか ないということでした。 A1:A10に”あ”~”お”をランダムに入力したとして、A1:A10をC1:C10に参照して、このC列に反映された文字に色付けしたいのですが、いろいろVBAでの条件付き書式を探してみたんですが、入力したセルの色付けはできても参照したセルの色付けができませんでした。可能かどうかも分かりませんが、できる方がいたらよろしくお願いします。

  • EXCELの質問についてです。

    EXCELの質問についてです。宜しくお願いします。 あるセル(例:A1)に文字列が入っています。 他のセル(例:A1)に文字列が入っています。 これを、比較して先頭数文字が同じ場合、 他のセルの文字列全てを表示したいのですが、 どの様にしたら良いでしょうか? ちなみに、IFでその文字列が(真)ならそのセル(B1) を表示とかやりたいのですが… 初心者的質問で申し訳ないのですが、何方かどうかご教授お願致します。

  • エクセルについて質問です。

    エクセルについて質問です。 例えば 「a」「b」「c」「d」という文字が4つありまして、この文字をランダムに並び替えたいとします。 エクセルの最初のページをひらいて「B2」に「a」、「B3」に「b」、「B4」に「c」、「B5」に「d」と文字を並べてある状態です。 それから、何を、どこにプログラミングをするのか、おしえてください。 よろしくお願いいたします。 ※ ただ、ランダムに並び替えるだけです。そして、できれば、自分が気に入ったならびになるまで何度もできるようにしたいのですが、その方法も、もしあったら、加えて教えてください。 ちなみに、 C2 =RAND() 下方向にコピー この列で並び替え ただしこのRAND関数(乱数発生)は セル新規入力やセル編集の毎に変化します またC列の式はそのまま更に D2 =RANK(C2,$C$2:$C$5) D5まで下方向にコピー という手順までは、ふんでみましたが、ここからどうしたら動くのかが分りません。 また、他の方法でもいいので、教えてください。 よろしくお願いします。

  • エクセル条件付書式について

    皆さんこんにちわ。 エクセルで分からない事があるので質問させてください。 (1)A1セルに数字が入ってる場合だけB1セルに色付け (2)A1A2セルに数字が入ってる場合はC1C2セルに色付け (3)A1A2A3セルに数字が入ってる場合はD1D2D3セルに色付け (4)A1A2A34セルに数字が入ってる場合E1E2E3E4セルに色付け 常に(1)~(4)の条件の中から一つの条件だけ適用。 一つの条件適用時は他の条件は適用させない。 上記のような事をしたいのですが、どうすれば良いでしょうか? わかりずらい説明かもしれませんが、ご教授お願いいたします。

  • エクセルの質問です。

    エクセルの質問です。 例えば、A1・B1・C1セル全てに数字(文字列)が入力されたら、Z1セルにAと表示される。 また、F1・G1・H1・I1セル全てに数字が入力されたらZ1セルにBと表示される。 上記のように指定したセル全てに入力されるとそれぞれA・B・C・Dと4つパターンで表示される ようにしたいのですが、わかりません。 おそらくIF関数で条件を組み合わせて作るのだと思いますが、どなたかご教授お願いいたします。

  • エクセルについて質問します。

    エクセルの計算式で質問します。 範囲指定したセルの列で、常に1つ下のセルの数値から上の数値をマイナスして、そのマイナスの数値が一番大きかった数値を、範囲指定したセルの中から抽出する計算式を教えて下さい。     A    B    C  1  1       -1  2  2       -3  3  5        2    4  3    5   例えば、上記のようにA列に数値が入っていたとします。 この場合はA3-A2=-3が一番マイナスが大きい数字ですので、A3の数値である「5」をA5のセルに返したいと思っています。 分かりづらい質問で申し訳ありませんが、分かる人がいましたら教えて下さい。 宜しくお願い致します。