エクセルのデータ参照では別シートから引用したい場合もあるかもしれません。Excelで自動抽出できると変更などが生じたときなどに手間を省きやすいですよね。エクセルで条件に合うデータを抽出する際に別シートが絡む場合は自動更新できる様々な方法があるのが特徴です。今回は、エクセルで別シートにデータを抽出する方法として、関数や条件を使った6つの方法をご紹介します。
◎Excelで別のシートから抽出する基本操作とは?【方法①】
エクセルの別シートに同じ値を抽出する方法として、まずご紹介したいのが「コピー+貼り付け」の活用です。別のシートからデータを引っ張る場合には、エクセルでの操作が通常と異なるのが特徴です。コピーのやり方は普段と同じで、『Ctrl』+『C』の同時押し、マウスなら右クリック→『コピー(C)』を選びましょう。

Excelで違うシートから抽出できるようにするには、『Ctrl』+『V』のような通常の貼り付けでは目的を果たせません。別シートにデータを抽出するには、貼り付け先のセルを右クリックし、「貼り付けのオプション」にあるクリップボードのマークを選びましょう。

この方法で貼り付けると、Excelでデータ抽出を別シートから自動でおこなえるようになります。たとえば、「元のシート」という名前のシートのセル番地B8の値を反映すると、参照先では『元のシート!B8』と表示されました。エクセルで別シートからデータを抽出できると、元データが変わるたびに自動で更新されるため、データの整合性を保つうえでも非常に便利です。

◎エクセルのデータ参照で別シートから抽出を自動でするには?【方法②】
エクセルのデータ抽出で別シートに自動で関数を使わずに行いたい場合もあるかもしれません。関数なしでも、別シートから抽出することは可能です。エクセルの自動抽出を別シートからするには、数式にデータとして参照するセルが別シートであることを指定します。まず、書き出す先のセルを選択しましょう。次に、そのセルをダブルクリックして『=』を入力します。その後、利用したい元のデータがあるシートを選択しましょう。この時点で、式の部分には『=シート名!』と自動的に入力されています。

エクセルでデータ参照をする別シートのセルをクリックすると『=シート名!参照セル』の形になり、『Enter』キーで完了です。Excelのシートから抽出する際に複数セル・範囲の場合は、式をコピーすると手間がかからないでしょう。セル参照は直接入力もできますが、間に『!』(『SHIFT』+『1』)を入力することを忘れないようにしましょう。

◎エクセルのデータ抽出を別シートから自動でする関数:indirect【方法③】
エクセルのデータ抽出を別シートから自動でする関数として、まず押さえておきたいのがindirect関数です。セル内の文字列を参照先として認識させることができる関数で、日本語では「間接参照」とも呼ばれます。エクセルの各シートから抽出するなど「シート名をセルに入力して切り替える」「エクセルで集計シートからシートへ抽出のために参照する」ような場合に便利で、(“シート名!セル番地”)の部分をダブルクォーテーションで囲む必要がある点に注意しましょう。なお、INDIRECT関数では参照先が文字列として処理されるため、数式をコピーしても通常のようにセルがずれてExcelで自動抽出されることはありません。動的に参照できる一方で、セルの相対参照が効かないという注意点も押さえておくと良いでしょう。

◎Excel/エクセルで重複しないよう抽出し別シートのデータを反映させる関数:VLOOKUP【方法④】
Excelで別シートのデータを反映させるのにつかえる関数がVLOOKUPです。特定の文字列や数値が指定範囲の最も左の列にあるかを調べ、見つかった場合には同じ行の右方向にあるセルの値を取り出します。エクセルで重複しないよう抽出し別シートに反映するのに便利な関数です。たとえば、番号が左端の列にある表の範囲から、その番号に対応するカテゴリ名を別シートに表示させることができます。以下のような式を使えば、セルに入力した番号に対応した2列右の値を自動的に取得できるでしょう。

ここでの「3」は、範囲の左端を1列目としたときに、何列目の値を取得するかを示す列番号です。また、最後の引数にFALSEを指定することで「完全一致」での検索になります。省略すると近似値(TRUE)での検索となるため、値がうまく一致しない場合はFALSEを指定しましょう。
◎エクセルのデータ抽出を別シートに自動で、複数条件にも対応:FILTER【方法⑤】
エクセルのデータ抽出を別シートに自動でするときに複数条件で行いたい場合もあるかもしれません。シートのデータを別のシートにコピーする関数としてはFILTERも押さえておくとよいでしょう。条件に一致するデータだけを取り出すことができる配列関数で、特に「複数条件に基づいてデータを絞り込みたい」ときに便利です。たとえば、出勤記録のあるシートから「出勤している日だけを別シートに表示する」といった場合に使えます。基本的な構文は、『=FILTER(絞り込みをする範囲,条件,[空の場合に表示する値])』です。例として、元データが「出勤日=日付が入力されているセル」と仮定すると、「=FILTER(P3:AT3,元データ!P4:AT4<>””)」などとします。
この式では、元データに何かしらの値が入っている箇所と同じセル番地のデータを、まとめて抽出しました。FILTER関数は結果が複数行にわたって表示される配列関数です。そのため、出力先のセルの下にもデータを上書きしてしまう可能性がある点に注意しましょう。また、この関数はExcel365またはExcel2021以降のバージョンでのみ使用可能です。
◎エクセルで条件に合うデータを抽出して別シートに、自動更新の注意点【方法⑥】
Excelで別のシートから抽出する際、関数を使わずにしたい場合は、フィルターの機能を使う方法もおすすめです。特に、「詳細設定フィルター」を使えば、条件に一致するデータだけを別の場所にコピーして表示できます。まず、「データ」⇒「並べ替えとフィルター」にある『詳細設定』をクリックしましょう。「フィルターオプションの設定」では、「リスト範囲」には元データのセル範囲、「検索条件範囲」は抽出条件が入力された範囲を入力します。「抽出先」には抽出結果を表示したいシートとセルを指定でき、条件に一致するデータだけを別シートに抽出して表示が可能です。

ただし、「詳細設定フィルター」は一度きりの抽出操作のため、元データを変更しても自動更新はされません。再度データを反映したい場合は、フィルターの再適用が必要です。また、検索条件をセルに入力する際は、式などで元データと連動させておくと再利用しやすくなります。
◎【エクセル】比較!抽出を別シートからするおすすめの方法は?
エクセルで違うシートから抽出する方法は、ここまでご紹介したように、目的や作業の自動化レベルに応じていくつか考えられます。Excelで他のシートから抽出を最も手軽にできるのは「=シート名!セル番地」のように、セル参照を使ってデータを引っ張る方法です。一方で、より柔軟に対応したいなら関数で別シートから抽出する方法も押さえておくと良いでしょう。たとえば、「特定の条件に一致するデータだけを別シートに表示したい」なら、FILTER関数が非常に便利です。複数条件にも対応でき、表示も自動更新されます。また、シート名を切り替えて集計したいなら、INDIRECT関数で間接的に参照することも可能です。それぞれの方法にはメリット・デメリットがあるため、自動で更新したいかどうか・条件付きで抽出したいかどうかを基準に選びましょう。
◎まとめ
今回は、エクセルで別シートからデータを抽出する方法のうち自動でできるものなどについてご紹介しました。エクセルで他シートから抽出するのは、コピーから関数の活用まで多岐にわたります。それぞれを比較し抽出を別シートにする際の目的に応じた手段を使い分けることで、作業の効率化につなげていきましょう。最後までお読みいただきありがとうございました。
コメント