事務作業の省力化や資料作成に役立つ、Excelの使い方を紹介

Excelの機能を最大限に生かして、業務の省力化や経営状況を分析できる資料の作成方法を解説します。

「FILTER関数」は、スピル配列の特性を持つ新しい数式

Office365に新しく追加されたFILTER関数は「スピル配列」の特性を持っています

 

これまでの「フィルター機能」との違い

 FILTER関数でできることは、これまでのフィルター機能とほとんど同じですが、「関数」であるため、他の関数と組み合わせることでフィルター機能では不可能な複雑なことができます。

 そして、最大の特徴は「関数」なので元のデータが更新(変更)された場合、自動的に更新されて表示されます。

 

フィルター機能で情報を絞り込む

 フィルター機能を使えば簡単に情報を絞り込むことができます。

 しかし、この機能は「元のデータの形を変えて表示する」ことになるため、その都度操作をする必要があります。

   f:id:k-ohmori9616:20200527150327p:plain

 

FILTER関数で情報を絞り込む

  関数(数式)を使って、別の場所や別のシートに書き出すことができます。

 あらかじめ抽出したい条件を設定した「シート」を用意しておけば、元データを入力するだけで自動的にそれぞれのシートに抽出された集計表が作成されます。

   f:id:k-ohmori9616:20200527151549p:plain

 

FILTER関数「1つのセル」に入力するだけで良い

 FILTER関数は1つのセルに入力するだけで、「結果が複数ある」場合は「溢れる(スピル)ようにゴースト」が表示されます。

 

商品名が「ミネラルウォーター」のデータ(行)を抽出

   f:id:k-ohmori9616:20200527100714p:plain

 

FILTER関数の使い方

 FILTER関数スピル配列の特性を持っているので、範囲の設定に「A1:G14」のような「動的配列」を使うことができます。

 

   f:id:k-ohmori9616:20200527104523p:plain

 

抽出結果を表示したい範囲の「左上」に数式を入力する

 FILTER関数は抽出結果を表示したい範囲の「左上」のセルに数式を入力すれば抽出結果が「溢れる(スピル)」ように表示されます。

 抽出された「DATA」は数式が入力されているセルを左上にしてゴーストとして下に「溢れる(スピル)」ように表示されます、

 ゴーストが表示されるエリアに「DATAが入力されたセル」があるとエラーになることです。

   f:id:k-ohmori9616:20200527111309p:plain

 

FILTER関数「範囲」「条件」を入力

 条件の引数は、文字列を「 "" 」でくくって指定することができますが、「セル番地」にすることにより、数式を変更せずに抽出条件を変更することができます。

  1. 範囲をテーブル化した「表全体」にします。
  2. 条件「商品名の列が"K4"のセルに入力された文字列に等しい」にします

  数式 =FILTER(B4:I30,G4:G30=K4)

   f:id:k-ohmori9616:20200527132710p:plain

 

※ 「表」をテーブル化しておくことで、DATAが増えても「範囲」が広がります。

表を「テーブル化」して作業効率を上げる - Excelの機能を活用して、事務作業の省力化や経営分析をする

 

※ "K4"のセルに「リスト入力」を設定しておけば、簡単に切り替えることができます

 リスト入力で"K4"のセルのデータを変えるだけで、即座に抽出内容が変わります。

   f:id:k-ohmori9616:20200527134452p:plain

 

UNIQUE関数を使って、リスト入力の「元の値」を自動更新する - Excelの機能を活用して、事務作業の省力化や経営分析をする

 

抽出するフィールド(項目)を指定する

 FILTER関数引数「範囲」を表全体にすると、抽出される結果も「全ての項目(フィールド)」になります。

 抽出する項目を指定したい場合には「配列リテラルを使います。

 ※ 項目が離れずに並んでいる場合は「その範囲だけを選択」してもよい

 

「顧客名」「商品名」「金額」の3列だけを抽出する

 引数「条件」は、真偽値(TRUE・FALSE)を指定するものなので、配列数式で「1をTRUE、0をFALSEで代用」します。

 FILTER関数の条件「商品名="ミネラルウォーター"」で絞り込んだデータを、さらにFILTER関数でネスト(入れ子)構造にして、条件を配列リテラル「 {0,0,1,0,0,1,0,1} 」にすることで「3列目・6列目・8列目」だけを抽出します。

 

   f:id:k-ohmori9616:20200527142621p:plain

 

FILTER関数は、スピル配列の特性を持つ使い勝手の良い関数です。

 これまでの「フィルター機能」のように、「元データの形を変えて表示する」のではなく、関数であるため、「元データから抽出して別の場所に表示させることができます。

 この特徴を生かせば、売り上げデータを「月別や年別」に別けることなく「一連のデータ」として管理(入力)しておいて、あらかじめ用意しておいた「月別」、「年別」、「業者別」のシートに自動的に表示させることができます。

 毎月々集計表を作成しなくても、「元データ」を追加していくだけで自動的に「集計表」が出来上がる仕組みを作ることができます。

 次回は、関数ならではの複雑な抽出「条件」の作成方法を紹介していきます。

 

 

k-ohmori9616.hatenablog.com