Excel で Power Query 式を作成する

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() 式を使ってテキスト値を適切な大文字/小文字に変換してみましょう。

  1. [POWER QUERY] リボン タブで、[その他のデータ ソース]、[空のクエリ] の順に選びます。

2. クエリ エディターの数式バー で、「= Text.Proper("text value")」と入力して Enter キーを押すか、Enter アイコン を選びます。

  1. Power Query の式の結果ウィンドウに結果が表示されます。

  2. Excel ワークシートに結果を表示するには、[閉じて読み込む] を選びます。

結果はワークシートに次のように表示されます。

クエリ エディター で詳細クエリ式を作ることもできます。

高度な数式を作成する

高度な式の例として、複数の式を組み合わせて、列内のテキストを適切な大文字/小文字に変換しましょう。 Power Query 式言語 を使って、複数の式を組み合わせてクエリ ステップを生成し、データ セット結果を取得できます。 結果は Excel ワークシートにインポートできます。

注: このトピックでは、高度な Power Query 式の概要について説明しています。 Power Query 式の詳細については、「 target=”_blank” title=”Power Query の式について” rel=”noopener”>Power Query の式について」を参照してください。

たとえば、製品名が入力された Excel テーブルを適切な大文字/小文字に変換するとします。

元のテーブルは次のようになります。

また、変換後のテーブルは次のようになります。

クエリ式ステップを実行して、ProductName 列の値の大文字と小文字が適切に設定されるように、元のテーブルを変更してみましょう。

詳細エディターを使った詳細クエリの例

元のテーブルをクリーンアップするには、詳細エディター を使って、クエリ式ステップを作成します。 クエリ式の各ステップを作成して、詳細クエリの作成方法を示します。 クエリ式の完全なステップは次のとおりです。 高度なクエリを作成する場合は、このプロセスに従ってください。

  • let ステートメントで始まる、一連のクエリ式ステップを作成します。 Power Query 式言語 では、大文字と小文字が区別されます。

  • クエリ式の各ステップは、名前でステップが参照され、前のステップに基づいて構築されます。

  • in ステートメントを使って、クエリ式ステップを出力します。 一般的に最後のクエリ ステップは最終データ セット結果として使用されます。

手順 1 – 詳細エディターを開く

  1. [POWER QUERY] リボン タブで、[その他のデータ ソース]、[空のクエリ] の順に選びます。

  2. クエリ エディター で [詳細エディター] を選びます。

  1. 詳細エディター が表示されます。

手順 2 – 元のデータを定義する

詳細エディター で次の操作を実行します。

  1. Source = Excel.CurrentWorkbook() 式を割り当てる let ステートメントを使用します。 ここでは Excel テーブルをデータ ソースとして使用します。 Excel.CurrentWorkbook() 式の詳細については、Excel.CurrentWorkbook を参照してください。

  2. Sourcein の結果に割り当てます。

`

    let _Source_ =
Excel.CurrentWorkbook(){[Name="Orders"]}[Content]
in _Source_

` 3. 詳細クエリは、詳細エディター では次のように表示されます。

4. ワークシートに結果を表示するには:

1. [**完了**] をクリックします。

2. クエリ エディターのリボンで、[**閉じて読み込む**] をクリックします。

結果はワークシートに次のように表示されます。

手順 3: 1 行目を見出しにする

ProductName 列の値を適切なテキストに変換するには、最初に 1 行目を列の見出しにする必要があります。 この操作は詳細エディター で実行します。

  1. #"First Row as Header" = Table.PromoteHeaders() 式をクエリ式ステップに追加し、Source をデータ ソースとして参照します。 Table.PromoteHeaders() 式の詳細については、Table.PromoteHeaders を参照してください。

  2. #"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" クエリ式ステップを参照します。 この操作は詳細エディター で実行します。

  1. #"Capitalized Each Word" = Table.TransformColumns() 式をクエリ式ステップに追加し、#"First Row as Header" をデータ ソースとして参照します。 Table.TransformColumns() 式の詳細については、Table.TransformColumns を参照してください。

  2. #"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 のヘルプ」を参照してください。

上部へスクロール