Excelのデータ変換を劇的に変える!Power Query「Column From Examples」徹底解説

-

Microsoft Excelでのデータ処理は、ビジネスの現場で不可欠なスキルです。しかし、複雑な文字列からの情報抽出や、書式がバラバラなリストの整形など、手作業や複雑な数式に頼ると時間と手間がかかり、エラーのリスクも高まります。特に、MID、LEFT、FINDといった関数を組み合わせたネストされた数式は、データの構造が少し変わるだけで破綻しやすく、トラブルシューティングも一苦労でした。

そんな課題を解決する強力なツールが、ExcelのPower Queryに搭載されている「Column From Examples(例からの列)」機能です。この機能は、従来のFlash Fill(フラッシュフィル)の直感的な操作性と、数式の堅牢性を兼ね備え、データ変換の自動化と信頼性を飛躍的に向上させます。一度設定すれば、元データが更新されても「更新」ボタン一つで最新の状態に反映されるため、データクレンジングや整形作業から解放されるでしょう。

Excelデータ変換の課題を解決する「Column From Examples」

これまでExcelでデータを整形する際、多くのユーザーは二つの主要なアプローチを取ってきました。一つは、MID、LEFT、FINDなどの関数を組み合わせた複雑な数式を構築する方法です。これは非常に強力ですが、数式の作成には高度な知識が必要で、データの構造が少しでも変わると数式全体を見直す必要がありました。もう一つは、Excel 2013で導入されたFlash Fillです。これは、ユーザーが手動で数個の例を入力するだけで、Excelがパターンを認識し、残りのデータを自動で補完してくれる画期的な機能でした。しかし、Flash Fillはデータとリンクせず、一度実行するとそれきりであるため、元データが更新されるたびに手動で再実行する必要がありました。また、複雑なパターンや曖昧なデータに対しては、誤った推測をしてしまうことも少なくありませんでした。

Power Queryエディタで「例からの列」機能を使って名前リストを生成している画面

「Column From Examples」は、これらの課題に対するより堅牢で柔軟な代替手段を提供します。Flash Fillのように直感的にパターンを認識させる一方で、その変換ロジックはPower QueryのバックグラウンドでM言語スクリプトとして保存されます。これにより、一度設定した変換は再利用可能なステップとなり、元データが更新されても「更新」ボタンをクリックするだけで、すべての変換が自動的に適用されるのです。これは、データ処理の自動化と信頼性を求めるユーザーにとって、まさに理想的なソリューションと言えるでしょう。

Power Queryの基本:データ準備とエディタ起動

「Column From Examples」を最大限に活用するためには、まずデータをExcelテーブルとして準備することが推奨されます。Excelテーブル(Ctrl+Tで変換可能)は、データ範囲を単一のオブジェクトとして扱い、行が追加されても自動的に範囲が拡張されるため、Power Queryとの連携に最適です。

データがテーブル形式になったら、以下の手順でPower Queryエディタを起動します。

  1. テーブル内の任意のセルをクリックします。
  2. リボンメニューの「データ」タブを選択します。
  3. 「テーブルまたは範囲から」をクリックします。

これにより、Power Queryエディタが新しいウィンドウで開かれ、データの変換作業を開始する準備が整います。

実践!「Column From Examples」の具体的な使い方と応用例

ここからは、実際のシナリオを通して「Column From Examples」の強力な機能を見ていきましょう。複雑な文字列からの情報抽出と、氏名リストの書式統一という二つの一般的なユースケースを解説します。

ケース1: 複雑な文字列からのID抽出でExcel データ変換を効率化

多くのデータセットでは、必要な情報が長い文字列の中に埋め込まれていることがあります。例えば、ログデータや製品コードなど、特定のIDが文字列の途中にあり、その位置が一定でない場合です。従来の数式では、文字数を数えたり、区切り文字を探したりと手間がかかりましたが、「Column From Examples」を使えば、ツールが自動でパターンを見つけ出してくれます。

シナリオ:可変位置の5桁IDを抽出する

テーブルの最初の列に、月名によって位置が変わる5桁のIDが埋め込まれた長い文字列があるとします。この5桁のIDだけを抽出したい場合の手順は以下の通りです。

  1. Power Queryエディタで、「列の追加」タブを開き、「例からの列」をクリックします。
  2. 新しく追加された空の列の最初の行に、対応する元の列から抽出したいID(例:88392)を手動で入力し、Enterキーを押します。
  3. Power Queryが残りの行に対して正確な候補を提示すれば、「OK」をクリックして確定します。

もしPower Queryが正確な候補を提示しない場合や、データセットが大きい場合は、「Overtraining(過学習)」が重要になります。データセットをスクロールし、異なる構造を持つ行を見つけて、その行のIDも手動で入力します。これにより、Power Queryはより柔軟な変換ロジックを推測し、将来的にデータ構造が変化しても破綻しにくくなります。

このプロセスを通じて、Power QueryはバックグラウンドでM言語スクリプトを生成します。最初の試行では、特定の区切り文字(例:ハイフン)を探す単純なロジックが生成されるかもしれませんが、多様な例を与えることで、より汎用的なパターン認識が可能になります。もし変換がうまくいかない場合は、「適用したステップ」ペインの設定アイコンから調整を試みるか、ステップを削除してより多様な例で再学習させることができます。

ケース2: 氏名リストの書式統一と結合でPower Query 使い方をマスター

顧客リストや社員名簿など、複数の列に分かれた氏名データがあり、しかも大文字・小文字が混在している、あるいは特殊な姓(例:O’Connor, D’Angelo)の書式を統一したいといったケースはよくあります。これも「Column From Examples」を使えば、簡単に解決できます。

シナリオ:バラバラな氏名を「姓 名」形式に統一する

「名」と「姓」の列があり、大文字・小文字が混在しているとします。さらに、アポストロフィを含む姓(例:o’connor, d’angelo)も正しく大文字に変換し、「名 姓」形式の「フルネーム」列を作成したい場合の手順です。

  1. Power Queryエディタで、Ctrlキーを押しながら「名」と「姓」の列を選択します。
  2. 「例からの列」>「選択範囲から」をクリックします。
  3. 新しく追加された列の最初の行に、正しい書式で「名 姓」(例:John Smith)と入力し、Enterキーを押します。

Power Queryは、列の結合と適切な大文字・小文字変換のロジックを即座に推測するはずです。驚くべきことに、多くの場合、O’ConnorやD’Angeloのような特殊な姓も、自動的に正しい書式(O’Connor, D’Angelo)に修正してくれます。もし特定の名前(例:ハイフンを含む姓)が正しくない場合は、そのセルをクリックして正しいバージョンを入力することで、ツールのロジックを微調整できます。

Power Queryで変換されたデータがExcelシートにロードされ、新しい行が追加された後に更新された状態

すべての候補が正しければ、「OK」をクリックして新しい列を追加します。その後、不要になった元の列は右クリックして「削除」できます。Power Queryは変換ステップを記録しているため、中間列を削除しても最終的な出力には影響しません。

「Column From Examples」がもたらす業務効率化と信頼性

「Column From Examples」の真価は、一度設定した変換が永続的に保存され、データ更新時に自動で適用される点にあります。Flash Fillのように手動で再実行する必要はなく、Power Queryで作成した変換は、元のデータソースに新しい行が追加されても、ワンクリックで最新の状態に更新されます。

Microsoft 365 Personalのパッケージ画像

この自動化の恩恵は計り知れません。定期的に更新されるデータ(例えば、月次レポートの基データや、外部システムからエクスポートされるデータ)を扱う場合、毎回手作業で整形する手間が省け、大幅な時間短縮とヒューマンエラーの削減につながります。特に、一貫した構造を持つものの、書式が不揃いなデータを扱う際にその効果は絶大です。

もし、元データの構造が大幅に変わり、更新が失敗した場合でも心配はいりません。Power Queryエディタに戻り、「適用したステップ」ペインから問題のステップを削除し、新しいパターンで再学習させるだけで、簡単に修正できます。これにより、Excel 自動化の柔軟性と堅牢性が両立します。

こんな人におすすめ!Flash Fill 代替としての活用

  • 定期的に同じ種類のデータ整形作業を行っている人: 毎日のルーティン作業を自動化し、時間を節約できます。
  • 複雑なExcel関数に苦手意識がある人: 直感的な操作で高度なデータ変換を実現できます。
  • Flash Fillの誤認識や手動更新に不満を感じている人: より信頼性の高い自動化されたソリューションを求めている人に最適です。
  • 大量のデータを扱うビジネスユーザー: データクレンジングの効率を大幅に向上させ、分析準備の時間を短縮できます。

Web版Excelユーザーへの代替策:Formula by Example

Power Queryの全機能は、主にデスクトップ版のExcelで利用できます。もしWeb版のExcelを使用している場合、機能が制限されていることに気づくかもしれません。しかし、心配はいりません。Web版には「Formula by Example(例による数式)」という強力な代替機能があります。これは、Power Queryの「Column From Examples」と同様の目的を果たすもので、現時点ではCopilotのサブスクリプションなしで利用可能です。データがExcelテーブル形式であれば、すぐに使い始めることができます。

デスクトップ版のPower Queryで複雑なIDを抽出する場合でも、Web版のFormula by Exampleを使用する場合でも、これらのツールは、脆弱な数式や信頼性の低いFlash Fillの時代から、より堅牢で自動化されたデータ処理へと移行するための重要な一歩となります。一度その便利さを体験すれば、もう手放せなくなるでしょう。

情報元:howtogeek.com

合わせて読みたい  Excel Power Query「例からの列」でデータ整形を自動化!Flash Fillの限界を超える信頼性

カテゴリー

Related Stories