VLOOKUPやIF関数はもういらない?Power Queryで「メンテナンス地獄」から卒業する方法

テクニック
この記事は約14分で読めます。

💡【おすすめの学習手順】

初心者から中級まで!実務で使える「Excel練習ロードマップ」をチェック! ▶【こちら

💡【おすすめの学習手順】

初心者から中級まで!実務で使える「Excel練習ロードマップ」をチェック! ▶【こちら

数式の「メンテナンス地獄」に心当たりはありませんか?

前回は、PowerQuery_加工・編集編で「PowerQueryのデータ型の設定」と「不要な列を削除」する方法を一緒にやっていきました。

今回はその続き――
取り込んだデータを 壊れない仕組み” で処理する方法に入ります。

こんな経験、ありませんか?

  • ちょっと条件を追加したいだけなのに、どこを直せばいいか分からない
  • 修正したら、別のセルがエラーになった
  • 前任者のIF関数が長すぎて、怖くて触れない…
  • 列を1列挿入しただけで、VLOOKUP関数の参照が全部ズレた

Excelは便利です。
でも、数式が増えれば増えるほど “壊れやすい仕組み” になっていきます。

特に、

こうした状態は、まさに「メンテナンス地獄」

この記事では、PowerQueryを使って、メンテナンス地獄から抜け出す方法をお伝えします。

この記事のゴール

  • 数式を一行も書かずに、複雑な条件分岐を作る
  • 複数の表をマウス操作だけでガッチャンコして紐付ける

つまり “壊れない仕組み” でデータ処理を組み立てること。

今日も一緒に操作しながら、作業者から “設計者” へステップアップしていきましょう!

今回も、前回のPowerQuery_加工・編集編、前々回PowerQuery_基本編で使用した練習用データセットを使用します。

お手元に練習用データセットがない方は、下のダウンロードボタンからダウンロードしていただき、実際に触りながら学習していきましょう!

💡これから練習用データセットをダウンロードする方へ🐾

「フォルダにあるデータを一括で統合して取り込み」という作業は、実務では基本的に「基幹システムから抽出したCSVファイル」や「WebサイトからダウンロードしたCSVファイル」のように、取り込むデータの8~9割がCSVファイルです。

そこで、練習用データセットにCSV形式で3つほどデータを用意しました。
今回は複数フォルダになっているためzipで圧縮していますので、まずダウンロードした練習用ファイル「powerquery_csv_data.zip」を解凍して下さい。

解凍したら、練習用データセットの内容が下記と同じか確認しましょう。

練習用ファイルセット内容
  • 「初回取り込み用」フォルダー
    powerquery_1月.csv、powerquery_2月.csv、powerquery_3月.csv の3つのCSVファイル
  • 「追加用データ」フォルダー ※今回は使用しませんが、セット内容として入っています
    powerquery_4月.csv

確認ができたら、さっそく実際に操作してみましょう!

基本操作からやりたい!という人は
PowerQuery_基本編で詳細をご紹介していますので
そちらをご確認くださいね

「条件列」の追加:マウス操作で作る最強のIF関数

まずは、IF関数の代わりになる機能からやってみましょう!

PowerQueryには「条件列」という機能があります。
これは、数式を書かずに “もしも〜なら” を作れる機能です。

IF関数のカッコを数える作業とは、もうサヨナラです!
さっそく、一緒に操作していきましょう!

※IF関数の操作を忘れてしまった方は、この動画の[01:15]あたりから見てみてください

※IFS関数の操作を忘れてしまった方は、この動画の[02:21]あたりから見てみてください

練習用ファイル「初回取り込み用」フォルダにある「powerquery_1月~powerquery_3月」の3つのCSVファイルをPowerQueryで結合し作成した「売上詳細_PowerQuery」を使用します

前回、PowerQuery_加工・編集編で不要な列を削除した 売上詳細_PowerQuery を開いてください。

ここに、以下の条件を設定していきたいと思います。

設定条件
  • 金額が20,000円以上なら「Aランク」
  • 金額が15,000円以上なら「Bランク」
  • 金額が上記以外なら「Cランク」

Excelの「IF関数」「IFS関数」の典型です。

これを、関数を使用せず PowerQuery のみで設定していきましょう!

売上詳細_PowerQueryファイルのテーブルを選択して、リボンメニューの 「クエリ」 → 「編集」もしくは AltF12 で「PowerQueryエディター」を開きます。

「PowerQueryエディター」を開いたら、エディター内のリボンメニューの「列の追加」を開きます。「列の追加」のすぐ下に「条件列」というアイコンがあるので、これをクリックしましょう。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

すると「条件の追加」というダイアログボックスが出てくるので、下の画像で赤枠を付けてある場所に以下の内容を入力していきます。

  • 新しい列名 → 「ランク」とテキスト入力
  • 列名 → プルダウンで「金額」を選択
  • 演算子 → プルダウンで「次の値以上」を選択
  • → 「20000」とテキスト入力
  • 出力 → 「Aランク」とテキスト入力

上記5つの設定が終わったら、下の画像で青枠を付けてある「句の追加」をクリックします。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

すると、2つ目の条件が入力できるようになるので先ほどと同じように2つ目の条件を設定していきます。

  • 列名 → プルダウンで「金額」を選択
  • 演算子 → プルダウンで「次の値以上」を選択
  • → 「15000」とテキスト入力
  • 出力 → 「Bランク」とテキスト入力

これを条件の数だけ繰り返します。
今回は、この2つ以外は全て「Cランク」なので、下の画像の青枠部分「それ以外の場合」に「Cランク」と入力し、右下の「OK」でダイアログボックスを閉じます。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

一番右端に、今追加した条件列「ランク」が追加され、右の適用したステップにも「追加された条件列」と表示されるようになりました。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

最後に「ランク」列のデータ型を「テキスト」に変更してあげて、ついでに「ランク」列を「氏名」と金額の間に移動してみましょう。

列の移動は、移動したい列のヘッダーを選択して、マウスで移動したい場所までドラッグ&ドロップするだけの簡単操作です!

ExcelのVLOOKUP関数なら、列を入れ替えた瞬間に数式が壊れて「#REF!」エラーの嵐ですが、PowerQueryならマウスで掴んで移動させるだけ。もちろん、仕組みが壊れる心配もありません。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

データ型の変更&列の移動後は、適用したステップに「変更された型1」と「並べ替えられた列」が表示されました。

データ型の変更方法を忘れちゃった方は
前回の PowerQuery_加工・編集編 を確認してね

最後にリボンメニューのホームタブを開き、一番左の「閉じて読み込む」アイコンをクリックすれば完了です。

PowerQuery_条件列の追加
PowerQuery_条件列の追加

Excelのテーブルに、先ほどまでなかった「ランク」の列が追加されました。

PowerQuery_条件列の追加
PowerQuery_条件列の追加
PowerQueryの条件列を使用するメリット
  • 視覚的にロジックが見える
  • 後から歯車アイコンで簡単に修正できる
  • ネスト地獄にならない

    ExcelのIF関数は、何度もネストされているとカッコの数を数えるだけで日が暮れそうですが
    PowerQueryなら、判定ルールをリスト化する感覚で終わります🐾

にゃんこのひと言🐾

PowerQueryを覚えると、今まで関数の修正に費やしていた膨大な時間が、一気に「自分のための時間」に変わります。

ただ、一つだけハッキリ言わせてください。

それだけのスキルを身につけて、「誰でもできる単純作業」ばかりの環境に居続けるのは、あなたの才能の持ち腐れです。

PowerQueryを使える人材は、市場では「DXの即戦力」として高く評価されます。
今の職場に縛られず、「自分のスキルが外の世界でいくらで売れるのか」を一度覗いてみるだけでも、働き方の視界がガラッと変わりますよ!

🚀 >> 自分の市場価値を「ミラキャリ」で無料診断してみる

クエリのマージ:VLOOKUP関数を過去の遺産にする

次は、VLOOKUP関数XLOOKUP関数の代替機能を一緒にやっていきましょう!

既に作成済みの売上詳細_PowerQueryに「会員番号をKeyにして、その会員の支店名の列も追加してほしい」と別途CSVファイルを渡されたとします。

こんなとき、これまでなら共通項目の「会員番号」をKeyにして、VLOOKUP関数XLOOKUP関数を使っていましたよね。でも、PowerQueryなら “もっと安全” にできます。

※VLOOKUP関数の操作を忘れてしまった方は、この動画の[00:57]あたりから見てみてください

※XLOOKUP関数の操作を忘れてしまった方は、この動画の[01:56]あたりから見てみてください

実際に、そういう依頼があったと想定して、ここで新たにcsvファイルを追加ダウンロードしてください。

ダウンロードした追加ファイルは、以下の場所に保存してくださいね

追加ダウンロードファイルの保存場所
  • PowerQuery練習(親フォルダ)
    • 📄 売上詳細_PowerQuery.xlsx(Excel本体)
    • 📁 import_powerquery_csv_data(データを入れる専用の箱)
      • 📁 初回取り込み用(1月〜3月のCSVが入っている)
      • 📁 追加用データ(追加用の4月のCSVが入っている)
      • 📄 powerquery_merge.csv(💡ココが重要! どのフォルダにも入れないのがコツ)

練習用ファイル「初回取り込み用」フォルダにある「powerquery_1月~powerquery_3月」の3つのCSVファイルをPowerQueryで結合し作成した「売上詳細_PowerQuery」と、追加ダウンロードした「powerquery_merge.csv」ファイルを使用します。

追加データのダウンロードが終わったら、さっそく一緒に操作してみましょう!

先ほどと同じく、売上詳細_PowerQueryファイルのテーブルを選択して、リボンメニューの 「クエリ」 → 「編集」もしくは AltF12 で「PowerQueryエディター」を開きます。

「PowerQueryエディター」を開いたら、少しデータを整えます。

今回は、2つのデータを「会員番号をKey」に突合する必要がありますが、前回のPowerQuery_加工・編集編で会員番号の列を削除したので、現時点でこのデータに会員番号の列はありません。

なので、まずは「会員番号列の復元」から対応しましょう。

前回、必要な列だけを選択し「不要な列を削除」で会員番号列も他の不要列と一緒に削除しました。
その際に下の画像赤枠の「削除された他の列」というステップが追加されましたが、削除する対象列は、この「削除された他の列」の右端に青枠で囲んだ歯車マークをクリックすることで変更が可能です。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

「削除された他の列」の右端に青枠で囲んだ歯車マークをクリックすると、「列の選択」というダイアログボックスが出てきます。

現在は「会員番号」の✓が外れている状態なので、ここに✓を入れたら、右下の「OK」をクリックします。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

データに会員番号が表示されました。これで下準備が整ったので、いよいよ2つのデータを突合していきます。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

まず突合相手となる、新しいファイルを取り込みましょう。
リボンメニューからホームタブを開いて、一番右にある「新しいソース」をクリックします。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

すると、3つの選択肢が出てくるので、「ファイル」にマウスオーバーします。
マウスオーバーすると、さらに選択肢が出てくるので「テキスト/CSV」をクリックしましょう。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

どのファイルをインポートするか選択するダイアログボックスが出てくるので、先ほど追加ダウンロードした「powerquery_merge.csv」を選択して、右下の「インポート」をクリックします。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

選択したファイルのプレビューが出てくるので、選択したデータに間違いないか確認したら、右下の「OK」をクリックします。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

左のクエリという項目に「powerquery_merge.csv」が表示だれ、無事に取り込めました。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

では、いよいよ2つのデータを「会員番号」をKeyに突合し、マージ(結合)していきます。
ベースとなるデータは「初回取り込み用」なので、左のクエリ一覧から「初回取り込み用」を選択します。
するとエディター画面には「初回取り込み用」のデータが表示されました。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

続けて、リボンメニューのホームタブを開いて「クエリのマージ」をクリックします。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

「クエリのマージ」は2つの表を「共通のKey」で結合する機能で
まさにVLOOKUP関数XLOOKUP関数をマウス操作だけで行うイメージです。

続けて「マージ」というダイアログボックスが出てくるので、中ほどにあるテキストボックス右端のプルダウンをクリックし、マージしたいデータを選びます。

今回は「powerquery_merge」をマージしたいので、一番上の「powerquery_merge」を選択します。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

ベースとなデータは、ファイル名の最後に
(現在)と書いてあるので分かりやすいね!

マージするファイルを選択すると、先ほどまで「プレビューは使用できません」とグレーアウトになっていた場所に、選択したファイルのプレビューが表示されるので、「Keyにする共通項目」を選択していきます。

今回の「共通するKey」は「会員番号」なので、両方のデータの「会員番号」列をマウスでクリックします。
選択した列は緑に反転するので、「共通するKey」が正しく選択できているか確認しましょう。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

共通Keyが選択できたら、結合の種類を選択します。
ここでは「上の枠にあるデータが左テーブル」「下の枠にあるデータが右テーブル」となり、それぞれの結合の種類は以下の通りです。

結合の種類メニューの表記どんな時に使うの?
左外部
(★基本)
最初の行すべて、および2番目の行のうち一致するもの【VLOOKUPの代わり】 左の表をベースにして、右の表から一致するデータを追加したい時。
右外部2番目の行すべて、および最初の行のうち一致するもの左外部の逆。右の表をベースにしたい時。
完全外部両方の行すべて両方の表のデータをすべて残し、全体の漏れや不一致をチェックしたい時。
内部一致する行のみ両方の表に「共通して存在するデータ」だけを抽出したい時。
左反(アンチ)最初の行のみ【エラーチェック】 左の表にあって、右の表には「ない」データ(仲間はずれ)を探し出したい時。
右反(アンチ)2番目の行のみ左反の逆。右の表の「仲間はずれ」を探したい時
PowerQuery_結合の種類

基本は『左外部』だけ使えればOKです!

結合の種類で「左外部」を選んだら、右下のOKを押します。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

するとPowerQueryエディターに画面が戻り、一番右の列に「powerquery_merge」という列が追加されました。適用のステップにも「マージされたクエリ数」が追加されています。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

この時のヘッダー名はマージしたデータのファイル名になります

一番右の列に追加された「powerquery_merge」の横に左右に向かう矢印があるので、これをクリックしてデータを展開させます。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

すると展開する列を選択するダイアログボックスが出てくるので、表示させたい列名にのみ✓を入れます。
会員番号は既に元データにあるため、非表示で問題ないので会員番号の✓を外しましょう。

次に下の方にある「元の列名のプレフィックスとして使用します」の✓を外します。
ここに✓が入っていると、列名の前にマージしたファイル名が表示されるので、あとで列名編集が必要になってしまい、手間です。

ここまで来たら、右下のOKを押しましょう。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

先ほどマージした「powerquery_merge」が展開され、会員番号をKeyに支店名がVLOOKUPされた形で表示されました。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

もし、後から展開する列を変更したい場合は、適用したステップの「展開された powerquery_merge」の右にある歯車マークをクリックすれば変更が可能です。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

最後にリボンメニューのホームタブを開き、一番左の「閉じて読み込む」アイコンをクリックすれば完了です。

PowerQuery_クエリのマージ
PowerQuery_クエリのマージ

会員番号をKeyに正しい支店名が紐付けられているか確認してみましょう。
「初回取り込み用」シート、B9セルの会員番号を CtrlC でコピーします

次に「powerquery_merge」に CtrlF で検索ダイアログボックスを出して、先ほどの会員番号を CtrlV で貼り検索してみましょう。

きちんと正しい支店名が紐付けられていることを確認できました。

このようにPowerQueryのマージを使えば、VLOOKUP関数XLOOKUP関数のように1列ずつ持ってくるのではなく、マスタ情報をまとめて同期することが可能です。

PowerQueryの条件列を使用するメリット
  • 列が増えても範囲を直す必要がない
  • 参照ズレが起きない
  • マスタ側が更新されても再読み込みで反映される

まとめ

今日は

  • 条件列で“壊れない分岐”を作る
  • マージで“ズレない紐付け”をする

という、実務の中核テクニックを一緒にやってみました。

あなたはもう、数式をその場しのぎで書く「作業者」ではありません。

処理を “設計” し、ステップとして積み上げる “仕組みを作る人” です。

条件判定もマージも、一度作れば一生モノの資産になります。

翌月は、ボタンひとつ!それがPowerQueryの世界です。

もし「毎月同じ作業をしている」なら、それは自動化できるサインかもしれません。
一緒に、“がんばる仕事” から “仕組みの仕事” へ進化していきましょう。


にゃんこのひと言🐾

Power Queryを使いこなせるようになると、周りからは「Excelの魔法使い」のように見えるかもしれません。 でも、その魔法を古いシステムの維持や、単純なコピペ作業に使い続けるのは、少しもったいない気がします。

もしあなたが「もっと自分のITスキルを活かせる環境で、自由な働き方をしてみたい」と感じているなら、一度ITエンジニア向けの転職支援サービスを覗いてみませんか?

今の職場では気づけなかった、あなたのスキルの「本当の価値」がきっと見つかりますよ!

🚀 自分の市場価値を「バイテック」で無料診断してみる


さらにExcelを使いこなしたい方へ

「何から手をつければいいか迷う…」という方のために、Excel上達のロードマップを作成しました!

初心者から実務でバリバリ使いこなせるようになるまで、順番にステップアップできるようになっています。
もっとスキルを磨きたい方は、ぜひチェックしてみてくださいね!

▶ [Excel上達ロードマップのページへ]

さらにExcelを使いこなしたい方へ

「何から手をつければいいか迷う…」という方のために、Excel上達のロードマップを作成しました!

初心者から実務でバリバリ使いこなせるようになるまで、順番にステップアップできるようになっています。
もっとスキルを磨きたい方は、ぜひチェックしてみてくださいね!

▶ [Excel上達ロードマップのページへ]

にゃんこのExcel講座
テクニック実務向け機能
タイトルとURLをコピーしました