注: この記事は既に役割を終えており、間もなく提供終了となります。 Microsoft では、「ページが見つかりません」の問題を避けるために既知のリンクを削除しています。 このページへのリンクを作成された場合は、同様に、この問題を避けるためにリンクを削除してください。
注: Power Query は、Excel 2016 では取得と変換として知られています。 ここで提供される情報は両方に適用されます。 詳細については、「Excel 2016 で取得と変換を実行する」を参照してください。
Excel で Power Query 式を作成するには、クエリ エディターの式バーまたは詳細エディターを使用できます。 クエリ エディターは Power Query に搭載されているツールで、Power Query でデータ クエリや式を作成できます。 式の作成に使われる言語は、Power Query 式言語です。 データの検出、結合、再設定に使用できる Power Query 式は数多くあります。 すべての Power Query 式の詳細については、「Power Query 式のカテゴリ」を参照してください。
簡単な式を作成し、次に高度な式を作成しましょう。
簡単な数式を作成する
簡単な式の例で、Text.Proper() 式を使ってテキスト値を適切な大文字/小文字に変換してみましょう。
-
[POWER QUERY] リボン タブで、[その他のデータ ソース]、[空のクエリ] の順に選びます。
-
クエリ エディターの数式バーで、「= Text.Proper("text value")」と入力して Enter キーを押すか、Enter アイコン を選びます。
-
Power Query の式の結果ウィンドウに結果が表示されます。
-
Excel ワークシートに結果を表示するには、[閉じて読み込む] を選びます。
結果はワークシートに次のように表示されます。
クエリ エディターで詳細クエリ式を作ることもできます。
高度な数式を作成する
高度な式の例として、複数の式を組み合わせて、列内のテキストを適切な大文字/小文字に変換しましょう。 Power Query 式言語を使って、複数の式を組み合わせてクエリ ステップを生成し、データ セット結果を取得できます。 結果は Excel ワークシートにインポートできます。
注: このトピックでは、高度な Power Query 式の概要について説明しています。 Power Query 式の詳細については、「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: 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 の詳細については、「Microsoft Power Query for Excel のヘルプ」を参照してください。