Excelで別シートから検索や抽出を行う方法

更新:2023/05/24

ITスキル


Excelではファイルの別シートからデータを検索することによって、作業時間を短縮することができます。ぜひとも修得しておきたい操作の一つと言えるでしょう。そこで今回は、

・Excelで別シートからデータ検索を行う方法
・データを別シートから抽出する方法

この2点について解説します。
別シートからの抽出方法については、フィルター機能を使う方法FILTER関数を使う方法の2パターンでご紹介。複数条件の設定にもチャレンジしていきます。

▼調べていた意図とこの記事内容が違ったら・・・
Excelの関連記事はこちら

Excelで別シートからデータ検索する方法

Excelでデータの検索をしようとすると、通常は開いているシート内での検索しかできませんが、オプションを開くことで、ブック全体を対象に検索できるようになります。どこに欲しいデータがあるかわからなくなった場合などに素早く探すために覚えておくと良いでしょう。

(1)Excelの「ホーム」タブ右端にある「検索と選択」をクリックするか、キーボードショートカット「Ctrl + F」を押して、「検索と置換」ウィンドウを開きます。

(2)オプションを選択し、「検索場所」を「シート」から「ブック」に変更したあと、通常の検索と同様にワードを入力して検索すれば、ブック全体からの検索ができます。

エクセル 別シートから検索

Excelで別シートから抽出する方法

ここからは、特定のデータのみを別シートから抽出する方法について解説します。実は抽出にもさまざまなやり方がありますが、ここでは、

・フィルター機能を使う方法
・FILTER関数を使う方法

の2通りのやり方でご紹介します。特にFILTER関数は、Microsoft365やExcel2021で使えるようになった注目の新関数。この機会に是非チェックしてみてくださいね。

サンプルとして、次のような受注売上表を用意しました。

エクセル 別シートから抽出

では実際にやってみましょう。

フィルター機能を使う方法

フィルター機能を使えば、たとえば「店名」「担当者」などの名前からデータを引っ張ることができます。もちろん別シートからでも可能ですし、複数条件を設けることもできます。

操作は比較的シンプルなので、ここでは複数条件つきで「店名→本店」かつ「担当者→和田さん」の案件を抽出してみることにします。

(1)新しいSheet2に抽出したい条件をコピーし、貼り付けます。今回の例では「店名・本店」と「担当者・和田」を次のようにコピペします。

エクセル 別シートからフィルターで抽出

(2)「データ」タブの「フィルターのそばにある詳細設定」をクリック。

エクセル 別シートからフィルターで抽出2

(3)「フィルターオプションの設定」欄にて、「指定した範囲」にチェックし「リスト範囲」をクリックしてから、Sheet1の元表全体をドラッグして選択します。

エクセル 別シートからフィルターで抽出3

(4)その下の「検索条件範囲」をクリックし、Sheet2で先ほど作った抽出条件を指定します。

エクセル 別シートからフィルターで抽出4

(5)さらに「抽出範囲」もクリックし、結果を表示させたい場所をSheet2に選びます。

エクセル 別シートからフィルターで抽出5

(6)「OK」を押すと、Sheet2の方に「本店・和田さん」のデータのみが抽出されました!

エクセル 別シートからフィルターで抽出6

セルの幅などは別途調整しなければいけないようですが、データ自体はうまく引っ張ってくることができました。

FILTER関数を使う方法

FILTER関数も、その名前から分かるとおり「フィルターをかけてデータを絞り込む」機能を有しています。先ほどお伝えしたとおり、Microsoft365やExcel2021から登場しました。

こちらも複数条件の設定ができますが、数式がやや長くなってしまいますので、まずは「店名→本店」の単一条件で抽出してみましょう。

(1)新しいSheet3に抽出したい条件「店名・本店」の欄を作っておきます。それと、見出し行もあらかじめ作っておくといいです。

エクセル 別シートからFILTER関数で抽出

(2)Sheet3で結果を表示させたいところ(ここではA5セル)をクリックしてから、上部の「fx」のようなマークをクリック。隣に「filter」と入力すると候補が表示されるのでFILTER関数を選択。

エクセル 別シートからFILTER関数で抽出2

ちなみに上図のとおり「数式」→「関数の挿入」からでもOKです。

(3)ここでは関数入力欄を使っていきます。「配列」をクリックしてからSheet1に戻り、見出しを除く表を全て選択します。すると数式にも自動入力されます。
配列「Sheet1!A4:E12」(全て半角)

エクセル 別シートからFILTER関数で抽出3

(4)次に「含む」をクリック。「本店」が含まれる項目ということでSheet1の「店名」データを全て選択。

エクセル 別シートからFILTER関数で抽出4

範囲が入ったら引き続き「=」を半角入力し、Sheet3で作っておいた条件「本店」を選択。式としては「Sheet1!A4:A12=Sheet3!A2」(全て半角)となります。ここは少々ややこしいのでしっかりチェックしましょう。

エクセル 別シートからFILTER関数で抽出5

(5)「空の場合」のところは、該当するデータがなかった場合を指定します。ここでは「該当なし」と入力して「完了」。すると次のように抽出されました。

エクセル 別シートからFILTER関数で抽出6

今回の表では抽出後に次のような書式の修正が必要となりました。

・金額にはカンマをつける。
・日付:上のような表記になってしまいますので、元表から「書式のコピー」で修正。
・空白セル:もともと空白だったセルが0となってしまいますので、「条件付き書式」→「新しいルール」→で下図のように設定。0を白字で見えないように修正しました。

エクセル 別シートからFILTER関数で抽出7

いくつか手直しが必要となりましたが、無事に抽出することができました!

エクセル 別シートからFILTER関数で抽出8

FILTER関数なら自動反映できる

先のフィルター機能とFILTER関数の大きな違いは、FILTER関数だと抽出後も元データとしての別シートのデータを反映させることができる、という点です。

つまり「途中で金額が変わった」ような時は、元データを直すことで抽出先のデータは自動的に修正されるということです。これは便利ですね!

FILTER関数で複数条件にするには?

FILTER関数で複数条件にするには、先の「含む」のところを(カッコ)乗算演算子「*」を使用して(カッコA)*(カッコB)と表します。これで「AかつB」という意味になります。

例えば先の受注売上表で、「店名」だけでなく「担当者」も条件に加えたい場合には、
「(Sheet1!A4:A12=Sheet3!A2)*(Sheet1!B4:B12=Sheet3!B2)」
のように設定していきます。

まとめ

今回は、別シートからデータを検索したり抽出したりする方法について解説しました。エクセルではシートをまたいでさまざまなデータのやり取りができます。上手に使いこなして、業務の効率化を目指していきましょう!

文:マイナビ学生の窓口編集部

関連記事

新着記事

もっと見る

HOT TOPIC話題のコンテンツ

注目キーワード

 ビジネス用語・カタカナ語80選

 キャリアロードマップの一歩目

  • ピックアップ