Excelを使って大量のデータを管理していると、「特定の条件に合った行だけを取り出したい」「特定の列のみを抽出して別の表に使いたい」という場面は多いものです。
そんなときに役立つのが、関数・フィルター・条件指定による抽出機能です。
Excelには、特定の行・列を抽出するための方法が複数あり、目的や状況に応じて使い分けることで作業効率が大幅にアップします。
本記事では、【Excel】エクセルで特定の行・列だけを抽出する方法(関数・フィルタ・特定の曜日も)について、初心者の方にもわかりやすく丁寧に解説していきます。
フィルター機能の基本から、FILTER関数・VLOOKUP・INDEX・MATCHといった関数の活用、さらには特定の曜日だけを抽出するテクニックまで幅広くカバーしていますので、ぜひ最後までご覧ください。
特定の行・列を抽出する方法はフィルターか関数で対応できる
それではまず、Excelで特定の行・列を抽出するための全体的な手法について解説していきます。
Excelで行や列を抽出する方法は、大きく分けて「フィルター機能」と「関数による抽出」の2種類があります。
それぞれに特徴があり、用途によって使い分けるのが正解です。
フィルター機能は手軽に使えて視覚的にわかりやすく、関数を使った抽出は動的に結果が変わるため自動化や連携に向いています。
どちらが優れているというわけではなく、「一時的な確認にはフィルター」「自動更新や別シートへの出力には関数」と目的に応じて選ぶと便利です。
以下に、主な抽出方法の比較をまとめました。
| 方法 | 特徴 | 向いているケース |
|---|---|---|
| オートフィルター | クリック操作で手軽に絞り込める | 一時的な確認・目視での絞り込み |
| 詳細フィルター(フィルターオプション) | 複数条件での抽出・別場所への出力が可能 | 複雑な条件での抽出・別シートへの転記 |
| FILTER関数 | 条件に一致する行を自動で抽出・スピル対応 | 動的な抽出・Office365/Excel2021以降 |
| VLOOKUP・INDEX・MATCH | 特定の値に対応する列データを取得 | キーをもとに別列のデータを参照したい |
| WEEKDAY関数との組み合わせ | 曜日に応じた行の抽出が可能 | 特定の曜日のデータだけを集めたい |
このように、Excelには目的別に選べる多彩な抽出手段が用意されています。
次の章から、それぞれの方法を順番に詳しく見ていきましょう。
フィルター機能を使った特定行の抽出方法
続いては、フィルター機能を使った特定の行の抽出方法を確認していきます。
Excelのフィルター機能は、データの絞り込みに最もよく使われる基本的な機能です。
難しい関数の知識がなくても、マウス操作だけで特定の条件に合ったデータのみを表示できるため、多くのビジネスシーンで活用されています。
オートフィルターの使い方
オートフィルターは、Excelの「データ」タブから「フィルター」をクリックするだけで有効にできます。
有効にすると、各列の見出しに▼ボタンが表示され、クリックすると条件を選択するメニューが開きます。
たとえば「部署」列で「営業部」を選べば、営業部のデータ行だけが表示され、それ以外の行は非表示になる仕組みです。
複数列に条件を設定することもでき、「営業部かつ売上100万円以上」のような複合条件での絞り込みも可能です。
フィルターオプション(詳細フィルター)の活用
オートフィルターより細かい設定をしたい場合は、「データ」タブ内の「詳細設定(フィルターオプション)」を使いましょう。
この機能では、別のセル範囲に抽出条件を記述しておき、そこを参照してフィルタリングを行うことができます。
また、「抽出先」を別の場所に指定することで、元データを残したまま別の場所に抽出結果を出力できるのも大きな強みです。
条件範囲の例(A列が「営業部」、B列が「東京」の場合)
A1セル:部署 B1セル:支店
A2セル:営業部 B2セル:東京
※ 見出し行を含めた範囲を「条件範囲」として指定する点がポイントです。
テーブル機能との併用で抽出をさらに効率化
データ範囲をExcelのテーブル(「挿入」→「テーブル」)に変換しておくと、オートフィルターが最初から有効な状態になります。
テーブル化することで、データが増えたときに自動で範囲が拡張されるため、フィルター対象が常に最新のデータを網羅してくれます。
フィルターをよく使う方は、テーブル化しておくことを強くおすすめします。
FILTER関数・VLOOKUP・INDEX・MATCHで行と列を抽出する
続いては、関数を使った行・列の抽出方法を確認していきます。
関数を使った抽出は、データが変わると自動的に結果も更新されるため、レポートや集計表の自動化に非常に向いています。
代表的な関数をひとつずつ確認していきましょう。
FILTER関数で条件に合う行をまとめて抽出する
FILTER関数は、Office365またはExcel2021以降で使える比較的新しい関数で、指定した条件に一致する行をまとめてスピル(自動展開)で出力できます。
FILTER関数の基本書式
=FILTER(配列, 含む, [空の場合])
例:=FILTER(A2:C100, B2:B100=”営業部”, “該当なし”)
→ B列が「営業部」に一致する行全体をA〜C列の範囲から抽出します。
この関数の特徴は、条件を変えるだけで自動的に抽出結果が更新される点です。
元データに行が追加されても、FILTER関数の結果は常に最新の状態を反映するため、手作業によるコピー貼り付けが不要になります。
VLOOKUP関数で特定キーに対応する列データを取得する
VLOOKUP関数は、縦方向の表から特定のキーに一致する行を探し、指定した列のデータを返す関数です。
VLOOKUP関数の基本書式
=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
例:=VLOOKUP(E2, A2:C100, 3, FALSE)
→ E2セルの値をA〜C列の表から検索し、3列目(C列)の値を返します。
ただし、VLOOKUPは検索値より左の列を返せないという制限があるため、より柔軟な参照が必要な場合はINDEX・MATCH関数の組み合わせが便利です。
INDEX・MATCH関数で柔軟に行・列を指定して抽出する
INDEX関数とMATCH関数を組み合わせると、VLOOKUPでは難しかった「左方向の列を参照する」「複数条件での検索を行う」といった操作が可能になります。
INDEX・MATCH関数の基本書式
=INDEX(範囲, MATCH(検索値, 検索範囲, 0))
例:=INDEX(A2:A100, MATCH(“山田太郎”, C2:C100, 0))
→ C列から「山田太郎」を探し、その行に対応するA列の値を返します。
複数条件での検索は配列数式(Ctrl+Shift+Enter)を使うことで対応できます。
最近ではXLOOKUP関数という後継関数も登場しており、INDEX・MATCHよりシンプルな書き方で同様の結果が得られるため、Office365環境であればXLOOKUPも検討してみてください。
特定の曜日だけを抽出する方法(WEEKDAY関数の活用)
続いては、特定の曜日に該当するデータだけを抽出する方法を確認していきます。
「月曜日だけのデータが欲しい」「土日のみの売上を集計したい」という場合、WEEKDAY関数を使って曜日番号を判定し、FILTER関数と組み合わせることで簡単に抽出できます。
WEEKDAY関数で日付から曜日番号を取得する
WEEKDAY関数は、日付データから曜日に対応する数値を返す関数です。
WEEKDAY関数の基本書式
=WEEKDAY(シリアル値, 種類)
種類を「2」に設定すると、月曜日=1、火曜日=2、……、日曜日=7 になります。
例:=WEEKDAY(A2, 2) → A2セルの日付が月曜なら「1」を返します。
この種類の設定によって返る数値が変わるため、「種類2」で統一しておくと月曜始まりで直感的に扱いやすくなります。
FILTER関数とWEEKDAY関数を組み合わせて特定曜日を抽出する
WEEKDAY関数の結果をFILTER関数の条件として使うことで、特定の曜日のデータ行だけを自動的に抽出できます。
特定曜日の抽出(例:月曜日のみ抽出)
=FILTER(A2:C100, WEEKDAY(A2:A100, 2)=1, “該当なし”)
→ A列の日付が月曜日(WEEKDAY値=1)の行だけをA〜C列から抽出します。
土日のデータをまとめて抽出したい場合は、WEEKDAY値が6(土)または7(日)の行を条件に指定すれば対応できます。
土日まとめて抽出する場合の条件式は「(WEEKDAY(A2:A100,2)=6)+(WEEKDAY(A2:A100,2)=7)」のように「+」でOR条件を表現する方法が便利です。
補助列を使ったフィルターとの組み合わせ方法
FILTER関数が使えないExcelのバージョン(Excel2019以前など)では、補助列にWEEKDAY関数を入力し、その列でオートフィルターをかける方法がおすすめです。
たとえば、D列にWEEKDAY関数で曜日番号を出力しておき、オートフィルターで「1(月曜日)」に絞り込めば、古いバージョンでも曜日抽出が実現できます。
補助列は印刷時に非表示にしたり、列を隠しておいたりすることで、見た目をスッキリ保てます。
まとめ
本記事では、【Excel】エクセルで特定の行・列だけを抽出する方法(関数・フィルタ・特定の曜日も)について解説しました。
Excelで特定の行・列を抽出する方法は、目的や使用環境によって最適な手段が異なります。
手軽さを求めるならオートフィルター・詳細フィルター、動的な自動抽出にはFILTER関数、特定の値に対応したデータ取得にはVLOOKUP・INDEX・MATCH・XLOOKUP、そして曜日ごとの抽出にはWEEKDAY関数との組み合わせが有効です。
それぞれの方法を理解しておくことで、どんな場面でも柔軟に対応できるようになります。
ぜひ今日から実務に取り入れて、Excelでのデータ活用をさらに効率化させてみてください。