Excelで一覧表を管理していると、特定の条件に合う行だけを別の場所に表示したい場面があります。

たとえば、売上が一定額以上の商品、担当者が指定した人のデータ、未対応だけの案件などを抽出したいこともあるでしょう。

フィルター機能でも絞り込みはできますが、元表を操作せずに抽出結果を自動表示したい場合には、関数を使う方法が便利です。

この記事では、1行目に見出しがあるサンプル表を使い、FILTER関数を中心に特定の行だけを抽出する方法を解説します。

Excel 2021以降やMicrosoft 365では、FILTER関数を使うと条件に一致する行をまとめて抽出できます。

複数条件、空白時の表示、旧バージョンでの代替方法まで確認しておくと、実務の一覧表にも応用しやすくなります。

 

FILTER関数で特定の行を抽出する方法

それではまず、FILTER関数を使って条件に合う行を別の表へ取り出す方法について解説していきます。

商品名 担当者 売上 状態
ノート 田中 12000 完了
ペン 佐藤 6800 未対応
封筒 田中 15400 未対応

 

FILTER関数の基本構文

FILTER関数は、指定した範囲から条件に一致するデータだけを返す関数です。

基本の書式は、FILTER 関数の抽出範囲、条件範囲、該当なしの場合の文字列という順番で指定します。

=FILTER(A2:D10,D2:D10=”未対応”,”該当データなし”)

この数式では、A2からD10までを抽出対象にし、D列が未対応である行だけを表示します。

抽出範囲と条件範囲は、開始行と終了行をそろえることが重要です。

条件範囲だけがD2からD9のように短いと、行数が一致せずエラーになる場合があります。

数式を入力したセルから右方向と下方向へ結果が自動展開されるため、周囲のセルは空けておきましょう。

 

未対応の行だけを別表へ表示する手順

抽出結果を表示したい場所として、たとえばF2セルを選択します。

FILTER関数で特定の行を抽出する方法 - 未対応の行だけを別表へ表示する手順

F2セルに、=FILTER(A2:D10,D2:D10=”未対応”,”該当データなし”) と入力してEnterキーを押します。

すると、元データにある未対応の行だけが、F2セルを起点として一覧表示されます。

この仕組みは、元表をフィルターで隠す方法とは異なり、元データと抽出結果を同時に確認できる点が大きな利点です。

元表の状態列を完了へ変更すると、該当行は抽出結果から自動的に消えます。

反対に、新しい未対応データを元表へ追加すれば、指定範囲内であれば結果へ反映されます。

 

見出し行を別途表示する設定

FILTER関数では通常、データ部分だけを抽出します。

抽出表にも商品名や担当者などの見出しを表示したい場合は、抽出先のF1からI1へ元表と同じ見出しを入力します。

FILTER関数で特定の行を抽出する方法 - 見出し行を別途表示する設定

そのうえで、F2セルにFILTER関数を入力すると、見出しとデータが分かれた読みやすい表になります。

元表の1行目が見出しなら、FILTER関数の抽出範囲は原則として2行目から始めます。

見出しを含めて抽出すると、条件列の見出しまで判定対象に入るため、意図しない表示につながることがあります。

抽出先の見出しには罫線や塗りつぶしを設定しておくと、元表と抽出表を見分けやすくなります。

【操作のポイント】FILTER関数の結果が表示される範囲には、文字や数式を入力しないようにします。

 

数値条件による行の抽出

続いては、売上や数量などの数値を条件にして特定の行を取り出す方法を確認していきます。

商品名 担当者 売上 状態
ノート 田中 12000 完了
ペン 佐藤 6800 未対応
封筒 田中 15400 未対応

 

売上が一定額以上の行

売上が10000以上の商品だけを抽出するなら、数値列に比較演算子を付けて条件を作成します。

=FILTER(A2:D10,C2:C10>=10000,”該当データなし”)

この数式では、C列の売上が10000以上の行だけが表示されます。

数値条件では、10000のような数値を二重引用符で囲まないことが基本です。

文字列として扱われると比較結果が想定と異なる場合があるため、数値はそのまま入力しましょう。

10000より大きい場合は>10000、10000以下の場合は<=10000のように比較記号を変更します。

 

条件値をセル参照にする設定

数式の中へ基準値を直接書く代わりに、F1セルなどに基準値を入力して参照する方法も便利です。

数値条件による行の抽出 - 条件値をセル参照にする設定

=FILTER(A2:D10,C2:C10>=F1,”該当データなし”)

F1セルへ10000と入力すれば売上10000以上を抽出し、15000へ変更すれば売上15000以上へすぐに切り替わります。

この方法なら、数式を編集できない利用者でも、基準値のセルを変更するだけで検索条件を調整できます。

条件を入力するセルには、何を指定する欄か分かる見出しを付けると入力ミスを防げます。

たとえばE1に抽出基準、F1に10000と入力すると、表の目的が伝わりやすくなります。

 

空白や文字列が含まれる数値列

売上列に空白セル、ハイフン、文字列が含まれると、数値比較でエラーが出ることがあります。

入力規則を利用して数値列へ文字を入力できないようにすると、集計や抽出の精度を保ちやすくなります。

数値条件による行の抽出 - 空白や文字列が含まれる数値列

すでにデータが混在している場合は、数値として認識されているかを確認します。

セルの表示が左寄せで緑色の三角マークが出ている場合、数値が文字列として保存されている可能性があります。

その場合は、エラーのオプションから数値に変換するか、VALUE関数などで数値化してからFILTER関数の条件に使いましょう。

【操作のポイント】比較する列は、数値だけが入る列として整えておくと抽出式が安定します。

 

複数条件による行の抽出

続いては、担当者と状態、売上と日付のように複数の条件を組み合わせる抽出方法を確認していきます。

商品名 担当者 売上 状態
ノート 田中 12000 完了
ペン 6800 佐藤 未対応
封筒 田中 15400 未対応
抽出管理.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け  B I 罫線 配置 数値 並べ替えとフィルター
名前ボックス F2  fx  =FILTER(A2:D10,(B2:B10=H1)*(D2:D10=H2),”該当なし”)
A B C D F G
1 商品名 担当者 売上 状態 担当者 田中
2 ノート 田中 12000 完了 状態 未対応
3 ペン 佐藤 6800 未対応 ノート 田中
4 封筒 田中 15400 未対応 封筒 田中
条件セルを変更すると抽出結果も更新されます
➤

 

すべての条件を満たす行

田中さんが担当し、なおかつ状態が未対応である行だけを抽出する場合は、各条件を掛け算でつなぎます。

=FILTER(A2:D10,(B2:B10=”田中”)*(D2:D10=”未対応”),”該当データなし”)

掛け算は、複数条件をすべて満たす場合に使います。

ExcelではTRUEが1、FALSEが0として扱われるため、両方がTRUEの行だけが1となり、抽出対象になります。

掛け算はAND条件として働くため、条件をすべて満たすデータを探したいときに適しています。

担当者や状態をセル参照にすれば、担当者名を選び直すだけで対象者を切り替えられます。

 

いずれかの条件を満たす行

田中さん、または未対応の行を抽出したい場合は、掛け算ではなく足し算を使用します。

=FILTER(A2:D10,(B2:B10=”田中”)+(D2:D10=”未対応”),”該当データなし”)

足し算はOR条件として機能します。

担当者が田中である、または状態が未対応である行が結果に表示されます。

両方に該当する行は計算結果が2になりますが、0ではない数値は抽出対象として扱われるため問題ありません。

AND条件とOR条件を混同すると、必要な行が不足したり余計な行が混ざったりします。

最初に、すべて満たす必要があるのか、どれか1つでよいのかを整理しましょう。

 

数値と文字列を組み合わせる条件

売上が10000以上で、かつ未対応の行を抽出する場合も、条件を掛け算で結合します。

=FILTER(A2:D10,(C2:C10>=10000)*(D2:D10=”未対応”),”該当データなし”)

これにより、売上条件と進捗条件を同時に満たすデータだけを確認できます。

営業管理表では、金額条件、担当者、顧客区分、対応状況などを組み合わせると、優先対応すべき案件の一覧を作れます。

【操作のポイント】複数条件は、すべて一致なら掛け算、どれかに一致なら足し算で組み立てます。

 

部分一致と空白行の除外

続いては、文字の一部を含む行や、入力済みの行だけを抽出するための条件を確認していきます。

商品名 担当者 売上 状態
青ボールペン 田中 4200 完了
赤ボールペン 佐藤 5100 未対応
ノート 2800 未対応

 

ワイルドカードによる部分一致

商品名にペンという文字を含む行を抽出する場合は、アスタリスクをワイルドカードとして利用します。

=FILTER(A2:D10,ISNUMBER(SEARCH(“ペン”,A2:A10)),”該当データなし”)

SEARCH関数は、指定した文字がセル内の何文字目にあるかを返します。

ISNUMBER関数で数値かどうかを判定すると、ペンを含むセルがTRUEとなります。

部分一致の検索では、完全一致では見つからない商品名のゆれにも対応できます。

ボールペン、サインペン、ペンケースのように同じ文字を含む行がまとめて抽出される点を理解して使いましょう。

 

空白ではない行の抽出

入力途中の空白行を除き、商品名が入力されている行だけを抽出することもできます。

=FILTER(A2:D100,A2:A100<>””,”入力データなし”)

この数式では、A列が空白ではない行だけをA2からD100の範囲から抽出します。

あらかじめ広めの範囲を指定しておけば、データ行を追加しても式を変更せずに済みます。

空白行除外の条件は、入力の有無を判断できる主キー列に設定することが大切です。

商品コードや受付番号のように、必ず入力される列を条件に選ぶと安定します。

 

該当データがない場合の表示

FILTER関数の第3引数を指定しない場合、該当するデータがないと計算エラーが表示されます。

利用者に分かりやすい表にするには、該当なしの場合の文字列を設定しておくとよいでしょう。

=FILTER(A2:D10,D2:D10=”保留”,”保留中のデータはありません”)

このように設定すると、保留という状態の行が1件もないときに、意味の分かる案内文が表示されます。

エラー表示をそのまま残さないことは、共有する集計表の見やすさにもつながります。

【操作のポイント】部分一致、空白除外、該当なし表示を組み合わせると、実用的な抽出表になります。

 

旧バージョンでの行抽出

続いては、FILTER関数が使えないExcel 2019以前などで特定行を抽出する考え方を確認していきます。

商品名 担当者 売上 状態
ノート 田中 12000 完了
ペン 佐藤 6800 未対応
封筒 田中 15400 未対応

 

オートフィルターによる表示

関数ではありませんが、最も簡単に特定の行を確認する方法はオートフィルターです。

元表の見出し行を選択し、データタブからフィルターを設定すると、各見出しに絞り込みボタンが表示されます。

状態列のボタンをクリックして未対応だけにチェックを残せば、該当する行だけが画面に表示されます。

一覧を一時的に確認するだけなら、オートフィルターは手軽で分かりやすい方法です。

ただし、抽出結果を別の場所へ自動表示する用途には向かないため、帳票用にはFILTER関数や詳細設定を検討しましょう。

 

詳細設定による別場所への抽出

旧バージョンでは、データタブにある詳細設定を使って条件に一致するレコードを別の場所へコピーできます。

条件範囲には、元表と同じ見出しを入力し、その下に未対応や田中などの条件を入力します。

詳細設定で指定した範囲に抽出を選び、リスト範囲、検索条件範囲、抽出先を設定します。

操作のたびに更新が必要ですが、数式を複雑にしたくない場合には、詳細設定も有効な選択肢です。

元データが変わった後は、再度詳細設定を実行して結果を更新する必要があります。

 

INDEX関数とSMALL関数の組み合わせ

旧Excelで自動抽出を作る場合には、INDEX関数、SMALL関数、IF関数、ROW関数を組み合わせる方法があります。

ただし数式が長くなり、列ごとに式を設定する必要があるため、管理の難易度は高めです。

複数人で使うファイルや将来の更新を考えるなら、利用できる環境ではFILTER関数へ移行するほうが保守しやすいでしょう。

FILTER関数が利用できるかは、セルに=FILTER(と入力したときに候補が表示されるかで確認できます。

相手が古いExcelを使う可能性がある場合は、抽出結果を値として共有する方法もあります。

【操作のポイント】使用するExcelのバージョンを確認してから、関数抽出かフィルター操作かを選びます。

 

まとめ エクセルで特定の行だけを関数で抽出する方法

エクセルで特定の行だけを抽出するには、Microsoft 365やExcel 2021以降で使えるFILTER関数が便利です。

状態が未対応の行を抽出する基本式は、=FILTER(A2:D10,D2:D10=”未対応”,”該当データなし”) となります。

抽出範囲と条件範囲の行数をそろえ、1行目の見出しを除外して指定することが基本です。

数値条件では比較記号を使い、複数条件では掛け算でAND条件、足し算でOR条件を作成できます。

部分一致にはSEARCH関数とISNUMBER関数、空白行の除外には<>””という条件が役立ちます。

抽出先のセル周辺は空けておき、条件値を別セルに置くと、更新しやすい検索表になるでしょう。

FILTER関数が使えないExcelでは、オートフィルターや詳細設定を利用する方法もあります。

目的に合う方法を選び、元データを見やすく保ちながら必要な行だけを効率よく確認していきましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう