- ベストアンサー
Excel2010でシートAとシートBの比較方法と抽出手順
- Excel2010を使用してシートAとシートBの比較を行い、シートAのデータからシートBのデータを取り除いたデータの抽出方法を解説します。
- シートAとシートBのデータを比較し、一致しないデータを抽出する方法をExcel2010を使用して説明します。
- Excel2010の機能を使って、シートAとシートBのデータを比較し、一致しないデータを抽出する手順をご紹介します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関数でも対応できますが、複雑で理解しにくいと思いますので、基本機能であるフィルタオプションの設定を利用することをお勧めします。 マスターシートを新規シートにコピー貼り付けし、「データ」タブの「詳細設定」をクリックし、リスト範囲をコピーした項目名を含むリスト範囲にして、検索条件範囲にシートBのデータ範囲を選択し「OK」します。 抽出されているシートBのデータ範囲を選択し、Deleteで削除してそのまま右クリックから「行の削除」をしてフィルタモードを解除すれば完成です。
その他の回答 (1)
- MackyNo1
- ベストアンサー率53% (1521/2850)
参考までに。 抽出したデータの使い道によって適切な対応が異なりますが、例えば関数で対応する場合は以下のような関数を使うことになります。 元データおよび削除データがSheet1およびSheet2の2行目から記載されている場合、以下の式を入力して右方向に1つ、下方向に適当数オートフィルしてください。 =INDEX(Sheet1!A:A,SMALL(INDEX(COUNTIF(Sheet2!$A$2:$A$100,Sheet1!$A$2:$A$100)*1000+ROW($2:$100),),ROW(1:1)))&"" ただし、表示データ(数式)範囲が広くなる場合や、元データのデータ数が多い場合は、数式が重くなりシートの動きが重くなりますので、あまりお勧めできません(この場合でも、B列の名前だけこの数式で求めて、この名前のデータから関数でA列の値を求めるほうが計算負荷が少なくなります)。 またA列の数字は文字列として返しますので、もし数字として返したいなら以下のような処理をするのが簡単です。 IF(B2="","",INDEX(Sheet1!A:A,SMALL(INDEX(COUNTIF(Sheet2!$A$2:$A$100,Sheet1!$A$2:$A$100)*1000+ROW($2:$100),),ROW(1:1))))
補足
ご回答ありがとうございます。 何度かやっているうちにできました!! 本当にありがとうございました、助かりました。