条件に該当する複数のデータを一覧化したい場合は、FILTER関数が役に立ちます。たとえば、以下のような顧客リストから年代別に顧客を一覧化してみます。

なお、FILTER関数はMicrosoft 365 または Excel 2021 以降のバージョンで使用できる関数です。
目次
FILTER関数を使って条件に該当するデータを横並びにする方法
まず、データを一覧化させるための条件を記載します。ここでは、年代別の顧客を一覧化させるため、20歳代、30歳代、40歳代というデータを記載します。

FILTER関数を使って20歳代、30歳代、40歳代に該当する顧客の氏名を表示させます。
FILTER(配列, 含む, [空の場合]) |
---|
「配列」で指定した範囲のデータで、「含む」の条件に合致するものを表示させる。 |
単純に20歳代の顧客の一覧を表示させるには、以下のように数式を入力します。配列には「氏名」を指定し、「含む」の条件には「年代が20歳代である」ことを指定します。
=FILTER($B$2:$B$21,$D$2:$D$21=I2)

これで20歳代の顧客の一覧が表示されます。しかし、縦方向に並んでいるため他の年代の顧客が表示できません。そのため、氏名を横方向に表示させるようにします。

ここでは、TRANSPOSE関数を使って表の縦と横を入れ替えます。先ほどのFILTER関数の数式をTRANSPOSE関数で囲みます。
=TRANSPOSE(FILTER($B$2:$B$21,$D$2:$D$21=I2))

これで横方向に「氏名」を表示させることができます。

数式を下にコピーすれば、各年代の顧客一覧が表示されます。

書式を変更すれば、このように顧客一覧を作成することができます。

コメント