• ベストアンサー

エクセルの突き合わせ方法について

同じシート内でC列にあるキーワードを[A列]と[B列]から検索して、結果を[D列]に返す。完全一致は’○’、一部一致は’△’、見つからない場合は’×’とする。 また、結果文字を色分け(検索キーワード含め)できると助かります。 ’○’は青、’△’は黄色、’×’は赤色。 よろしくお願いいたします。 <条件> ・[A列]は[C列]から検索したい一部のキーワード。見つかれば’△’ ・[B列]は[C列]と完全に一致した場合のみ’○’ ・[B列]の一部が[C列]に見つかっても’×’ ・[B列]と[C列]が完全一致すれば、その一部は必ず[A列]に存在する  が結果は’○’で返す。 <具体例1> [A列]  [B列]     [C列] [D列] 111(赤) 222AAA(青)  222AAA ○(青)    222(黄) 110AAC(青)  999AAC ×(赤) 333(赤) 111aaa(赤)  110AAC ○(青) 444(赤) 112bbb(赤)  110zzz ×(赤) 555(赤) 113ccc(赤)  222yyy △(黄)

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

関数式の応用を理解してもらいたいので、あえて作業列を使って説明します。 ・[B列]は[C列]と完全に一致した場合 作業列 E列に =COUNTIF(B:B,C2) と入れて下までコピィします。 つまり、C2 と完全一致する値がB列に何個あるかが表示されますので 1以上が ○ ですね。 ・[A列]は[C列]から検索したい一部のキーワード。見つかれば’△’ が少し奇妙なのですが。 A列は 3桁で固定なのでしょうか? もし、A列に 22 と2桁の値が合った場合に、 C2の222AAAの答えは? 多分、3桁と固定されている想定してですが。 作業列 F列に =COUNTIF(A:A,LEFT(C2,3)) と入れて下までコピィすれば C2の左から3桁の文字と完全一致する値がA列に何個かるか表示されます。 希望するD列は =IF(E2>0,"○",IF(F2>0,"△","×")) で良いと思います。 ここまでよろしければ、D列の式を一つにまとめてください。 色の設定は条件付書式の設定で可能だと思いますが、仮に D列の場合は 値が 等しい ○ 書式で希望の色 といった具合に追加します。 A、B列の色の設定がわかりませんが(例 222(黄))多分検索する値と範囲が変わっているのだと想像しますが 条件付書式の設定のウィザードで 数式が に変えて 数式に =COUNTIF($C:$C,A2&"*") といったようにcountif関数の検索値の*マーク(ワイルドカードの意味)と追加してA2の値で始まる個数を数えさせる方法があります。

pegopa
質問者

補足

質問が分かりにくくてすみません。 でも、想像していただいた通りです。 ただ、色の付け方は誤解させてしまったかもしれません。 結果が’○’はB列の完全合致のため、B列検索文字とD列結果○の色はは’青’。 ただし、A列の一部合致もあれば’黄’にする。 次のようになります。 [A列]  [B列]     [C列] [D列] 222(黄) 222AAA(青)  222AAA ○(青)    222(黄) 110AAC(青)  222BBB △(黄) ※A列は複数重複あり、B列はなし

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

=IF(C1="","",IF(COUNTIF(B:B,C1),"○",IF(SUMPRODUCT(($A$1:$A$5<>"")*ISNUMBER(FIND($A$1:$A$5,C1))),"△","×"))) とか。

pegopa
質問者

補足

すごい! 全く理解できていないけど、セルにコピペしただけで結果が出た。 色をつけるにはどうしたらいいですか?

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A列の色は条件付き書式で条件が 条件1「数式が」「=COUNTIF(C:C,A1&"*")=0」で色を赤 条件2「数式が」「=COUNTIF(C:C,A1&"*")>0」で色を黄 B列の色は条件付き書式で条件が 条件1「数式が」「=COUNTIF(C:C,B1)=0」で色を赤 条件2「数式が」「=COUNTIF(C:C,B1)>0」で色を青 D列の結果は =IF(COUNTIF(B:B,D1),"○",IF(COUNTIF(A:A,LEFT(D1,3)),"△","×")) B列の色は条件付き書式で条件が 条件1「値が」「次に等しい」「="○"」で色を青 条件2「値が」「次に等しい」「="△"」で色を黄 条件3「値が」「次に等しい」「="×"」で色を赤 ※D列の場合のみ別解で =IF(COUNTIF(B:B,D1),1,IF(COUNTIF(A:A,LEFT(D1,3)),2,3)) でセルの書式設定をユーザー定義で [青][=1]"○";[黄][=2]"△";[赤]"×" とする。

pegopa
質問者

補足

すみません。 まだ、試している最中です。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう