Excel で Power Query 式を作成する
Excel for Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 その他…表示数を減らす
注: この記事は既に役割を終えており、間もなく提供終了となります。 Microsoft では、「ページが見つかりません」の問題を避けるために既知のリンクを削除しています。 このページへのリンクを作成された場合は、同様に、この問題を避けるためにリンクを削除してください。
注: Power Query は、Excel 2016 では取得と変換 として知られています。 ここで提供される情報は両方に適用されます。 詳細については、「 target=”_blank” title=”Excel 2016 で取得と変換を実行する” rel=”noopener”>Excel 2016 で取得と変換を実行する」を参照してください。
Excel で Power Query 式を作成するには、クエリ エディターの式バー または詳細エディター を使用できます。 クエリ エディターは Power Query に搭載されているツールで、Power Query でデータ クエリや式を作成できます。 式の作成に使われる言語は、Power Query 式言語 です。 データの検出、結合、再設定に使用できる Power Query 式は数多くあります。 すべての Power Query 式の詳細については、「Power Query 式のカテゴリ」を参照してください。
簡単な式を作成し、次に高度な式を作成しましょう。
簡単な数式を作成する
高度な数式を作成する
簡単な数式を作成する
簡単な式の例で、Text.Proper() 式を使ってテキスト値を適切な大文字/小文字に変換してみましょう。
- [POWER QUERY] リボン タブで、[その他のデータ ソース]、[空のクエリ] の順に選びます。
2. クエリ エディターの数式バー で、「= Text.Proper("text value")」と入力して Enter キーを押すか、Enter アイコン を選びます。
Power Query の式の結果ウィンドウに結果が表示されます。
Excel ワークシートに結果を表示するには、[閉じて読み込む] を選びます。
結果はワークシートに次のように表示されます。
クエリ エディター で詳細クエリ式を作ることもできます。
高度な数式を作成する
高度な式の例として、複数の式を組み合わせて、列内のテキストを適切な大文字/小文字に変換しましょう。 Power Query 式言語 を使って、複数の式を組み合わせてクエリ ステップを生成し、データ セット結果を取得できます。 結果は Excel ワークシートにインポートできます。
注: このトピックでは、高度な Power Query 式の概要について説明しています。 Power Query 式の詳細については、「 target=”_blank” title=”Power Query の式について” rel=”noopener”>Power Query の式について」を参照してください。
たとえば、製品名が入力された Excel テーブルを適切な大文字/小文字に変換するとします。
元のテーブルは次のようになります。
また、変換後のテーブルは次のようになります。
クエリ式ステップを実行して、ProductName 列の値の大文字と小文字が適切に設定されるように、元のテーブルを変更してみましょう。
詳細エディターを使った詳細クエリの例
元のテーブルをクリーンアップするには、詳細エディター を使って、クエリ式ステップを作成します。 クエリ式の各ステップを作成して、詳細クエリの作成方法を示します。 クエリ式の完全なステップは次のとおりです。 高度なクエリを作成する場合は、このプロセスに従ってください。
let ステートメントで始まる、一連のクエリ式ステップを作成します。 Power Query 式言語 では、大文字と小文字が区別されます。
クエリ式の各ステップは、名前でステップが参照され、前のステップに基づいて構築されます。
in ステートメントを使って、クエリ式ステップを出力します。 一般的に最後のクエリ ステップは最終データ セット結果として使用されます。
手順 1 – 詳細エディターを開く
[POWER QUERY] リボン タブで、[その他のデータ ソース]、[空のクエリ] の順に選びます。
クエリ エディター で [詳細エディター] を選びます。
- 詳細エディター が表示されます。
手順 2 – 元のデータを定義する
詳細エディター で次の操作を実行します。
Source = Excel.CurrentWorkbook() 式を割り当てる let ステートメントを使用します。 ここでは Excel テーブルをデータ ソースとして使用します。 Excel.CurrentWorkbook() 式の詳細については、Excel.CurrentWorkbook を参照してください。
Source を in の結果に割り当てます。
`
let _Source_ =
Excel.CurrentWorkbook(){[Name="Orders"]}[Content]
in _Source_
` 3. 詳細クエリは、詳細エディター では次のように表示されます。
4. ワークシートに結果を表示するには:
1. [**完了**] をクリックします。
2. クエリ エディターのリボンで、[**閉じて読み込む**] をクリックします。
結果はワークシートに次のように表示されます。
手順 3: 1 行目を見出しにする
ProductName 列の値を適切なテキストに変換するには、最初に 1 行目を列の見出しにする必要があります。 この操作は詳細エディター で実行します。
#"First Row as Header" = Table.PromoteHeaders() 式をクエリ式ステップに追加し、Source をデータ ソースとして参照します。 Table.PromoteHeaders() 式の詳細については、Table.PromoteHeaders を参照してください。
#"First Row as Header" を in の結果に割り当てます。
`
let
Source = Excel.CurrentWorkbook(){[Name="Orders"]}[Content],
_#"First Row as Header"_ = Table.PromoteHeaders(_Source_)
in
_#"First Row as Header"_
`
結果はワークシートに次のように表示されます。
手順 4 – 列の各値を適切な大文字/小文字に変換する
ProductName 列の各値を適切なテキストに変換するには、Table.TransformColumns() を使って、"First Row as Header" クエリ式ステップを参照します。 この操作は詳細エディター で実行します。
#"Capitalized Each Word" = Table.TransformColumns() 式をクエリ式ステップに追加し、#"First Row as Header" をデータ ソースとして参照します。 Table.TransformColumns() 式の詳細については、Table.TransformColumns を参照してください。
#"Capitalized Each Word" を in の結果に割り当てます。
`
let
Source = Excel.CurrentWorkbook(){[Name="Orders"]}[Content],
_#"First Row as Header"_ = Table.PromoteHeaders(Source),
_#"Capitalized Each Word"_ = Table.TransformColumns(_#"First Row as Header"_ ,{{"ProductName", Text.Proper}})
in
_#"Capitalized Each Word"_
`
最終結果では、ProductName 列内の各値が適切な大文字/小文字に変換され、ワークシートに次のように表示されます。
Power Query 式言語 では、シンプルまたは詳細なデータ クエリを作成して、データの検出、結合、絞り込みを行うことができます。 Power Query の詳細については、「 target=”_blank” title=”Microsoft Power Query for Excel のヘルプ” rel=”noopener”>Microsoft Power Query for Excel のヘルプ」を参照してください。