よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)実用編:目次|2つのシートの重複データを別シートへ抽出します
- Excel2002以外のバージョンを使用し、前方一致のデータが混在する場合は、以下のような不都合があります。
- ここでは、Excel2007を使用した例で説明します。
Excel2000,2003,2007で不都合なケース
- 例えば、検索条件の「福岡」に対して前方一致では「福岡県」も抽出されます。
- 具体例です。Sheet1とSheet2のデータを比較し、重複したデータをSheet3に抽出します。
| Sheet1 |
Sheet2 |
 |
 |
- 抽出先のSheet3のA1セルを選択します。(抽出先のシートがアクティブな状態で実行します)
- [データ]タブの[詳細設定]を実行します。
- Excel2007以外はデータ→フィルタ→フィルタオプションの設定 を実行します。
- 「指定した範囲」にチェックが入っているのを確認します。
リスト範囲が選択したデータ範囲を「Sheet1!A1:A24」とします。
検索条件範囲を「Sheet2!A1:A9」とします。
抽出範囲を「Sheet3!A1」とします。
- なお、抽出データが重複しないようにするには、「重複するレコードは無視する」にチェックを入れます。
- Sheet3に重複したデータが抽出されました・・・と言いたいのですが、県の付いていないものを抽出したはずが・・・。
「県」の付いたものまで抽出されてしまいます。
Excel2000,2003,2007でフィルタオプションを利用する方法
- 前記のようにSheet2のリストをそのまま検索条件に利用することができませんので、数式を利用します。
- ここでは、Sheet2と重複するSheet1のデータをSheet3へ抽出します。
- Sheet3のC2セルに抽出条件の数式を入力します。なお、C1セルは空欄のままにしておきます。
この場合、元データはShee1のA2からなので、=COUNTIF(Sheet2!$A:$A,Sheet1!A2)>=1としました。
- [データ]タブの[詳細設定]を実行します。
- 「指定した範囲」にチェックが入っているのを確認します。
- リスト範囲が選択したデータ範囲を「Sheet1!A1:A24」とします。
- 検索条件範囲を「C1:C2」とします。
- 抽出範囲を「A1」とします。
- 「重複するレコードは無視する」にチェックを入れます。
- 県なしのデータのみが無事?抽出できました。
- ここでは、Sheet2と重複しないSheet1のデータをSheet3へ抽出します。
- この場合はC2セルの数式を=COUNTIF(Sheet2!$A:$A,Sheet1!A2)=0とします。
- [データ]タブの[詳細設定]を実行します。
- 「指定した範囲」にチェックが入っているのを確認します。
- リスト範囲が選択したデータ範囲を「Sheet1!A1:A24」とします。
- 検索条件範囲を「C1:C2」とします。
- 抽出範囲を「A1」とします。
- 「重複するレコードは無視する」にチェックを入れます。
よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)実用編:目次|2つのシートの重複データを別シートへ抽出します
PageViewCounter

Since2006/2/27