【PowerQuery】Excelデータの存在チェックを自動化してみた!

日ごろExcel作業をやっていて
データを精査するような場面あると思います!

あのデータが含まれてるか確認したい!
要らないデータは除きたい!

と思ったことないですか!?

そんな時あなたはどうしますか?

Excel関数を使っても手作業が発生してしまう…

マクロでやるならプログラミングを覚えなきゃならない…

それらを一気に解決してくれるのが

PowerQueryです!

プログラミングなしで自動化できます!

それではその方法を見ていきましょう!

動画で見たい方はコチラ

PowerQuery関数List.Containsを使って自動化!

このデータ精査あなたならどうする?

いきなりですが
果物(オレンジ)から、苦手な果物(グレイ)を除いた結果(緑)を
あなたならどうやって出しますか!?

List.Contains関数とは?

今回これを解決するのが
PowerQuery関数のList.Containsになります!

これは
あるデータに対して
リスト内のデータが含まれているかどうかを判定
する関数です!

こちら公式のリファレンスになりますので是非見てみて下さい!

存在チェックを作る!

※ExcelはOffice365で以下説明しております

1.データをテーブル化

まずは「果物」「苦手な果物」と言った
扱うデータをテーブル化しておきましょう!

2.PowerQueryでそれぞれテーブルに接続

「果物」「苦手な果物」両方のテーブルに接続しておきましょう!

テーブル上にカーソルを置き
「データ」タブ → 「テーブルまたは範囲から」

3.「苦手な果物」をテーブルからリストに変換

List.Contains関数を使いやすくするために
片方のテーブル(苦手な果物)をリスト化しておきます!

PowerQuery編集画面にて
「変換」タブ → 「リストに変換」

4.存在チェックする列を追加

「果物」表のデータがそれぞれ
「苦手な果物」に含まれているかチェックする列を追加します!

「列の追加」タブ → 「カスタム列」をすると
入力画面が立ち上がるので

=List.Contains(リスト名, 列)

と言う感じで

「リスト名」には「苦手な果物」のリスト名(dislike)
「列」には「使用できる列」から「果物」列を挿入

こうする事で

「りんご」が「苦手な果物」に含まれているか?
「バナナ」が「苦手な果物」に含まれているか?
「いちご」が「苦手な果物」に含まれているか?

と1つずつ判定します!

「TRUE」が苦手な果物に含まれている!
「FALSE」が苦手な果物に含まれていない!

5.FALSEでフィルタ

6.不要列の削除

「チェック」列を削除しました!

後はこれをシートに出力すれば完成ですね!

データが変わっても自動で処理!

「果物」のデータや「苦手な果物」のデータが
変わったり、増えたり、減ったりしても

結果のテーブルを
「右クリック」→「更新」さえすれば
自動で存在チェックを行い結果を出力します!

小さい作業でも効率化していこう!

たかがそれくらい…手でやった方が早い

思ってませんか!?

その積み重ねが

残業になり

自由な時間が減り

人生あっという間に!

果たしてこれは大げさでしょうか…?(;・∀・)

皆さんも是非!作業の自動化にトライしてみて下さい!

かじむー

仕事の効率化!いつでもご相談下さい♪