小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2025年10月7日【ID:0】

【Excel】FILTER関数1つで離れている項目を抽出

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


FILTER関数は、表から指定した条件を満たしたデータのみを抽出する関数です。
表の中の連続した項目を抽出する場合は、以下のように抽出することができます。

(例)「雇用形態」が「アルバイト」の「氏名・雇用形態・所属部署」を抽出

=FILTER(B:D,C:C="アルバイト","")

しかし、離れている項目の場合、以下のように、項目ごとにFILTER関数を入力して抽出している方も少なくないかと思います。

(例)「雇用形態」が「アルバイト」の「氏名・入社日」を抽出

=FILTER(B:B,C:C="アルバイト","")
=FILTER(F:F,C:C="アルバイト","")

もちろん、このままでも抽出はできますが、以下のようなデメリットがあります。

・抽出条件や抽出項目が変わった時に、項目ごとの数式を1つ1つ修正する必要がある
・FILTER関数2つ分の計算処理が必要なため、表のサイズによってはファイルの動きが遅くなる

ということで、こちらでは、FILTER関数1つで離れている項目を抽出する方法について解説していきます。


離れている項目を指定する

連続した項目の場合は、以下のように「:」で範囲を一括で指定することができます。

=FILTER(B:D,C:C="アルバイト","")

しかし、離れている項目の場合、「:」だけで範囲を選択することができません。
そんな時は、HSTACK関数を組み合わせます。
HSTACK関数では、以下のように、指定した複数の範囲を水平方向に繋げることができます。

(例)「氏名・入社日」を先頭から6件抽出

=HSTACK(B2:B7,F2:F7)

そのため、HSTACK関数を使って、以下のような数式にすることで、連続した項目を1つの数式のみで抽出することができます。

(例)「雇用形態」が「アルバイト」の「氏名・入社日」を抽出

=FILTER(HSTACK(B:B,F:F),C:C="アルバイト","")

まとめ

今回のように、1つの数式にすることで、以下の欠点が解消されます。

・抽出条件や抽出項目が変わった時に、項目ごとの数式を1つ1つ修正する必要がある
・FILTER関数2つ分の計算処理が必要なため、表のサイズによってはファイルの動きが遅くなる

しかし、今回の方法の場合、列を挿入すると、以下のように見出しとデータがずれてしまう可能性があります。

そのため、項目数が多い場合などは、見出し自体も数式で抽出するなどと対策すると良いです。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7076445

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ