※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。
2025年10月7日【ID:0】
【Excel】FILTER関数1つで離れている項目を抽出
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予備メンバーに加入して連携すると、
一部の広告が非表示になります。



















































