- ベストアンサー
エクセルのデータ比較
シート1のA行のデータとB行のデータをすべて比較して、同じデータがあれば C列にそのデータを書き出したいのですが、どうすればよろしいのでしょうか。 行数(比較するデータの数)はそれぞれ数千行あります。 例(a~hはデータです) シート1 A列 B列 a c b d c f d h の場合、比較した結果をC列に次のように表示させます。 A列 B列 C列 a c c b d d c f d h どなたかよろしくご教示くださるよう、お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
C列に以下の関数をコピーしてみてください (*は各行の番号になるように) =IF(ISNA(VLOOKUP(B*,A:A,1,FALSE)),"",VLOOKUP(B*,A:A,1,FALSE)) VLOOKUP:B*と同じ数値をA:Aの中から探し、値を入れる関数(値がない場合は#N/Aを返す) ISNA:#N/Aを判定する関数
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
A列には、重複するようなデータは存在しない(B列の値が複数見つかることはない)と考えて良いのでしょうか? もし、重複していても見つかったB列の値を表示すればいいのでしょうか? もしそうなら、 C列に次のような感じで式を入れてコピーすればいいと思います C1 =IF(COUNTIF($A$1:$A$4,B1)>0,B1,"")
お礼
言葉が足りず、申しわけありません。 A列には、重複するデータはありません。 仮にあった、としてもB列の値を表示したいので、 教えていただいた式で大丈夫です。 ありがとうございました!
- cucsna
- ベストアンサー率23% (12/51)
多分この方法でもできると思います。 C1のセルに、 「=IF(COUNTIF(A:A,B1)>0,B1,"")」 と入力して、 C2以下のセルに数式をコピーする。 式の意味は、 A行(A:A)にB1と同じ値が何件あるかを、COUNTIFで確認して、 0件より大きい(存在する)場合は、B1の値を表示。 存在しない場合はブランクとする。 ということになると思います。
お礼
ありがとうございます。この式でも可能でした。 色々な方法があるのですね。勉強になります。
お礼
すばやいご回答、ありがとうございました! バッチリ稼動を確認しました。 とても助かりました。本当にありがとうございます。