【データ処理入門(3)】スプレッドシート関数の使い方~「filter」を使用したデータ検索

RPAのデータ前処理に活用できる、スプレッドシート関数の実践的な使い方を紹介していきます。

今回は「filter」を使用してデータの検索を行います。テーブルデータの中から、指定した条件に該当するデータを検索したい場合などに活用できます。

実際には、スクリプト(プログラム)を書いて、データを検索することもできます。しかし、数千件や数万件のデータを扱う場合は、大量のデータをメモリに読み込む必要があり、処理の負荷が大きくなることもあります。

すべての処理をRPAやスクリプトで行うのは非効率です。スプレッドシートを利用する場合は、極力スプレッドシート関数で処理した方がよいと考えます。

RPAでは、クラウド上のシステムや基幹システムからダウンロードしたCSVデータなどをスプレッドシートやExcelシートに貼り付けた後に、担当者や製品に関するデータを検索することがよくあります。

では、filterを使ったデータ検索を行ってみましょう。

filterを使ったデータ検索

今回作成するスプレッドシートの全体像は下図のようになります。

table data

テーブルデータ

テーブルデータは、「ID」「氏名」「所属」「性別」「年齢」「役職」の6つの項目から成ります。A~F列に記入します。

検索条件

今回は、次の条件でデータを検索します。

  • 所属に「営業所」を含む
  • 性別が「女性」
  • 年齢が「30歳以上」

結果

検索結果は別途作成した結果シートに出力します。検索する手順を順番に説明していきます。

【Step.1】所属の条件で絞り込む

結果シートの「A1」セルに下記の式を記入します。

=filter('テーブル'!A:F,search("営業所", 'テーブル'!C:C))

これで、テーブルシートの「A:F」範囲にあるデータの中から、所属(C列)に「営業所」というキーワードを含むデータのみ取得できます。

「search」は指定した文字列が含まれるか調べる際に使用します。

step1 result

【Step.2】性別の条件を追加

結果シートの「A1」セルを下記のように書き換えます。

=filter('テーブル'!A:F,search("営業所", 'テーブル'!C:C), 'テーブル'!D:D="女性")

これで、性別(D列)が女性のデータのみ取得できます。条件を追加していく場合は、カンマで繋げていきます。

step2 result

【Step.3】年齢の条件を追加

結果シートの「A1」セルを下記のように書き換えます。

=filter('テーブル'!A:F,search("営業所", 'テーブル'!C:C), 'テーブル'!D:D="女性", 'テーブル'!E:E>=30)

これで、年齢(E列)が30以上のデータのみ取得できます。条件を追加していく場合は、カンマで繋げていきます。

step3 result

filterの説明

スプレッドシート関数の「filter」は以下のような式で構成されます。

filter(“検索対象のデータ範囲”, “検索の条件文1”, “検索の条件文2”, …)

それぞれの引数(パラメータ)は以下の通りに設定します。

引数 説明
【第1引数】検索対象のデータ範囲 検索対象のデータ範囲を記入します。今回はテーブルデータがある「A:F」の範囲を指定します。なお、実際にデータがある「A16:C16」としてもよいですが、データが増減した場合に都度修正が必要になります。
【第2引数】検索の条件文 検索の条件文を記入します。今回は、searchや比較演算子(=、>=)を使用しました。
【第3引数】検索の条件文(オプション) 第3引数以降は、任意で検索の条件文を追加できます。

まとめ

今回は「filter」を使用してデータの検索を行いました。

押さえておきたいポイントとしては、

  • データ検索では「filter」が使える
  • すべてRPAやスクリプトで処理をしない
  • スプレッドシート関数が使える場合は積極的に使う
  • 「filter」の機能は「query」に劣る
  • データ検索では「query」を推奨する

シェアする

  • このエントリーをはてなブックマークに追加

フォローする