web-dev-qa-db-ja.com

ある列で他の列にない項目を検索する

Excelには2つの列があり、列Bにはあるが列Aにはない項目を見つけたい(できれば強調表示したい)のです。

これを行うための最も速い方法は何ですか?

86
C. Ross
  1. 列Aのリストを選択してください
  2. 右クリックして[範囲に名前を付ける...]を選択します。
  3. 「ColumnToSearch」と入力してください
  4. セルC1をクリック
  5. この式を入力してください:=MATCH(B1,ColumnToSearch,0)
  6. B内のすべてのアイテムの数式を下にドラッグします

式が一致を見つけられなかった場合は#N/Aとマークされ、それ以外の場合は番号となります。

一致する場合はTRUE、一致しない場合はFALSEにしたい場合は、代わりに次の式を使用してください。

=ISNUMBER(MATCH(B1,ColumnToSearch,0))

未発見の値を返し、見つかった値に空の文字列を返したい場合

=IF(ISNUMBER(MATCH(B1,ColumnToSearch,0)),"",B1)
85
devuxer

これは簡単な方法です。

列をハイライト表示Bして開く条件付き書式設定

選択数式を使用して、強調表示するセルを決定します

次の式を入力してから、希望の形式を設定してください。

=countif(A:A,B1)=0
29
Ellesa

2列を選択してください。 「条件付き書式」に移動して「セル規則の強調表示」を選択します。重複値を選択します。次のステップに進むと、それを固有の値に変更できます。私はちょうどそれをやった、それは私のために働いた。

14
DOB

これを理解するために私を永遠に連れて行ったがそれは非常に簡単です。データがA2とB2(ヘッダー用)で始まると仮定すると、C2に次の式を入力します。

=MATCH(B2,$A$2:$A$287,0)

次にクリックして下にドラッグします。

#N/Aが付いたセルは、列B内のそのすぐ隣の値が列A全体のどこにも表示されないことを意味します。

列Aの検索配列全体と一致するように$ A $ 287を変更する必要があることに注意してください。たとえば、列Aのデータが1000エントリ減少した場合、$ A $ 1000になります。

12
brenton

私の配列の公式を見てくださいここでBには見られないリストAへの答え:

= IFERROR(インデックス($ A $ 2:$ A $ 1999、MATCH(0、IFERROR(MATCH($ A $ 2:$ A $ 1999、$ B $ 2:$ B $ 399,0)、COUNTIF($ C $ 1:$ C1、$ A $ 2:$ A $ 1999)、0))、 "")

2列の名前を比較して足りない名前を返す

4
Jeeped

強調表示するのではなく、2つの列の間で重複している値以外のすべての値を表示することが私の要件でした。私は@ brentonの解決策の助けを借りて、データを直接使用できるように値を表示するようにさらに改善しました。

=IF(ISNA(MATCH(B2,$A$2:$A$2642,0)), A2, "")

これを3列目の最初のセルにコピーし、列B全体から項目Aがリストされていないすべての項目をリストするように列全体に数式を適用します.

3
Gautam Jain

答えを共有してくれた人たちに感謝します。あなたの解決策のおかげで、私は自分の道に進むことができました。

この質問の私のバージョンでは、比較する2つの列がありました - フル卒業クラス(Col A)とその卒業クラスのサブセット(Col B)です。私は、完全な卒業クラスで、サブセットのメンバーである学生を強調することができたかったです。

次の式を3列目に入れます。

=if(A2=LOOKUP(A2,$B$2:$B$91),1100,0)

これは私の学生の大部分をコード化しました、しかしそれはデータの最初の数行にいくつかのエラーをもたらしました。

1
Drew McAllister