先の「Excel Filter関数でワイルドカードを使う」記事もそうでしたが、Excel関数を上手く使うひとつの取り組みに「ネスト」があります。
つまり、関数を組み合わせて演算させるわけです。

ちなみに、現在の Excel関数は 500 を超えたそうです。
中には単独でも凄い働きを見せるものもありますが、他の関数や機能と組み合わせることにより一味変わった使い方が見えてくるものもたくさんあります。

というわけで、今回は「FILTER」関数と機能を組み合わせてこんな使い方もありますという例をご紹介します。

ここでは「UNIQUE」関数と組み合わせてドロップダウンリストを作ってみます。
なお、UNIQUE関数については「Excel UNIQUE関数」記事でご紹介しています。
その記事の中でも UNIQUE関数と SORT関数とを組み合わせた例も少しお話しています。

さて、下図のような販売データを例に、担当者によるデータ抽出をしてみましょう。

 

FILTER関数を使って、空いているセルに「=FILTER(A2:G89,C2:C89="山田 修")」と入力すれば下図のように取り出すことが出来ます。

(日付や桁区切りなどの書式は予め設定してあります。)

これでも良いのですが、できれば担当者名をいちいち入力しないで、プルダウンリストで選択できると便利です。

担当者名を表データの中から拾い出します。
UNIQUE関数を使ってみます。
適当なセルに「=UNIQUE(C2:C89)」と入力すると、下図のように重複するものを省いて抽出できます。

(ここでは、行方向で一意の行を返すだけなので、第2、第3引数とも省略できます。)

もし、担当者リストをあいうえお順にして見やすいようにしたければ、SORT関数を使って「=SORT(UNIQUE(C2:C89))」とすれば良いですね。(下図)

 

この担当者リストを使って「データの入力規則」を設定します。
プルダウンリストを作るセル I2を選択し、[データ]-[データツール]-[データの入力規則]をクリック、現れた「データの入力規則」ダイアログの「設定」タブで「入力値の種類」を「リスト」、「元の値」を「=$K$2#」と入力し「OK」します。(下図)

 

数式の最後の「#」は、スピルした範囲を含むという意味です。
こうして、セル I2にプルダウンリストが作れました。(下図)

 

あとは、このプルダウンリストで選択した担当者名を FILTER関数に適用するだけです。
「=FILTER(A2:G89,C2:C89=I2)」と変更しました。(下図)

 

なお、上記は表データが固定範囲に入力されていましたが、後にデータの追加や削除などがあり得るなら、担当者リストを「=SORT(UNIQUE(C:C))」、FILTER関数を「=FILTER(A:G,C:C=I2)」としてもよろしいです。