2024年10月7日【ID:0】
【Excel】指定項目の要素別の表を瞬時に作成
指定した項目の要素別の表を瞬時に作成する方法について解説していきます。
こちらでは、以下の氏名と部署で構成された表から部署単位の表を作成する方法を例に解説します。

表の中から特定の条件を満たした要素のみを抽出する場合は、FILTER関数が便利です。
FILTER関数は、Microsoft365もしくはExcel2021以降で対応している関数になります。
FILTER関数の使い方は、以下になります。
=FILTER(配列, 含む, [空の場合])
// 配列:抽出対象の表
// 含む:抽出条件
// [空の場合]:抽出対象が存在しない場合に表示する値(省略可能)
実際に、以下の表から部署が「営業部」の氏名のみを抽出してきます。

そのような場合は、以下のような数式になります。
=FILTER(B:B,C:C="営業部","")
// B:B:抽出対象の氏名の列全体を指定
// C:C="営業部":部署の項目で「営業部」が入力されているデータのみが抽出対象
// "":データが存在しない場合は何も表示しない

また、「営業部」に関しては、セルの値を参照して以下のように表現することもできます。
=FILTER(B:B,C:C=E2,"")
こちらの数式を隣のセルにコピーするだけで、他の部署に関しても抽出できるようにしてきます。
その際は、抽出対象の範囲(氏名の項目)と抽出条件の範囲(部署の項目)が相対的に移動しないように、以下のように「$」で固定します。
=FILTER($B:$B,$C:$C=E2,"")
後は、この数式を一番左の「総務部」までコピーします。

これだけで、2行目(セルE2~G2)の「営業部、人事部、総務部」を抽出条件とし、瞬時に、対象の氏名のみを抽出することができます。
コピーすることでセルG3までに入力された数式は、以下になります。
E3:=FILTER($B:$B,$C:$C=E2,"")
F3:=FILTER($B:$B,$C:$C=F2,"")
G3:=FILTER($B:$B,$C:$C=G2,"")