• ベストアンサー

こうゆう関数ありませんか?

EXCEL2000(バージョンは問いません)で2つの列にある データを照合して同じデータ又は違うデータを抜き出す 関数とかありますか? 大量のデータを2列に抽出して2列を見比べた時にどこ に変化があったのか簡単に抽出したいのです。 たとえば Aの列には1~100までの数字があり Bの列には「1」だけ抜けた2~100までの数字があり AとBを照合して「1」だけが抜けている事が関数など を使ってわからないのでしょうか? 下手な質問で申し訳ないですがどなたか回答お願いします。

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

  • ベストアンサー
  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

C1に以下の数式を入れて必要なところまでコピーします。 =IF(ISERROR(MATCH(A1,$B$1:$B$1500,0))=TRUE,"B列にありません","") $B$1:$B$1500は、元になる数字の範囲なので適宜変更して下さい。 これで、A列にあってB列に無い数字の場合は、C列に「B列にありません」と表示がでます。 B列にあってA列にない場合は、上のAとBを入れ替えればOKです。 またA1セルにて、 条件付き書式で「数式が」にして =ISERROR(MATCH(A1,$B$1:$B$1500,0))=TRUE とし、セル色を赤にして、A列に書式をコピーすると、 B列にない数字のセルは赤く表示することができます。 こんな感じでいかがでしょう?

dontyan
質問者

お礼

ありがとうございます。 できました。 これでかなりの時間短縮ができそうです。

その他の回答 (3)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 有無を調べるなら、COUNTIFでも出来ます。 C1に、 =IF(LEN(A1)=0,"",IF(COUNTIF(B:B,A1)>0,"有り","なし")) と入力して下の行へコピーします。 なお、A列にデータがない場合は空になります。 また、No.1の人と同様条件付き書式にも使用出来ます。 A列を選択したら、メニューの[書式]→[条件付き書式]で、 「数式が」 「=AND(LEN(A1)>0,COUNTIF(B:B,A1)=0)」 として、書式を設定します。 これでB列にない場合に書式が適用されます。 ちなみに、No.1の人の数式中の 「=TRUE」 は不要です。 (分かり易さのためにあえて付けていると思われますが。)

dontyan
質問者

お礼

この関数もあったのですね。 ありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

VLOOKUP関数はどうでしょう。 A1:B4に 1 2 2 3 3 4 4 とあるとします。 C1に=VLOOKUP(A1,$B$1:$B$4,1)といれ、B2:B4に複写します。C1:C4は #N/A 2 3 4 と出ます。この#N/Aが「A列にあってB列に見つからない」ものです。 それでC1を=IF(ISERROR(VLOOKUP(A1,$B$1:$B$4,1)),"なし","あり")にして、C2:C4に複写すると なし あり あり あり となります。

dontyan
質問者

お礼

回答ありがとうございます。 私もまだまだ勉強不足ですね。参考にしたいと思います

  • nika
  • ベストアンサー率14% (66/470)
回答No.2

エクセル上では、match関数を使います。 これは、総当りでデータをチェックしますので、データ量が増えると時間が指数的に増大します。 >大量のデータを2列に抽出して2列を見比べた時にどこ に変化があったのか簡単に抽出したいのです。 単純に引き算して0にならないところをチェックするというのも方法ですよね。 一番いい方法は、アクセスでデータを比較することでしょうね。時間も比較方法も簡単になります。

dontyan
質問者

お礼

回答ありがとうございます これからのためにも参考にさせていただきます。

関連するQ&A

専門家に質問してみよう