データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
とりあえず、Power Queryを使用する場合の例を挙げておきます。
- あらかじめ【元データ】の範囲を(先頭行をテーブルの見出しとして)テーブルに変換しておく。以下、このテーブルの名前を[テーブル1]とする。
- [データ]タブ -> [データの取得と変換]グループ -> [データの取得] -> [その他のデータソースから] -> [空のクエリ]をクリックし、Power Query エディターを起動する。
- [ホーム]タブ -> [クエリ]グループ -> [詳細エディター]をクリックし、以下のようなクエリを記述する(今回はコピーアンドペーストで可)。
let
Source = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"日付", type date}, {"顧客名", type text}, {"製品名", type text}, {"数量", Int64.Type}, {"M", type text}, {"C", type text}}),
#"Extracted Text Before Delimiter" = Table.TransformColumns(#"Changed Type", {{"M", each Text.BeforeDelimiter(_, "-"), type text}}),
#"Added Index" = Table.AddIndexColumn(#"Extracted Text Before Delimiter", "インデックス", 0, 1, Int64.Type),
#"Changed Type1" = Table.TransformColumnTypes(#"Added Index",{{"M", Int64.Type}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"M", "Mの開始値"}}),
#"Extracted Text Before Delimiter1" = Table.TransformColumns(#"Renamed Columns", {{"C", each Text.BeforeDelimiter(_, "-"), type text}}),
#"Changed Type2" = Table.TransformColumnTypes(#"Extracted Text Before Delimiter1",{{"C", Int64.Type}}),
#"Renamed Columns1" = Table.RenameColumns(#"Changed Type2",{{"C", "Cの開始値"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns1", "レコード別加算値", each List.Numbers(0,[数量])),
#"Expanded {0}" = Table.ExpandListColumn(#"Added Custom", "レコード別加算値"),
#"Added Custom1" = Table.AddColumn(#"Expanded {0}", "新しい数量", each 1),
#"Inserted Addition" = Table.AddColumn(#"Added Custom1", "加算", each [Mの開始値] + [レコード別加算値], type number),
#"Changed Type3" = Table.TransformColumnTypes(#"Inserted Addition",{{"加算", type text}}),
#"Renamed Columns2" = Table.RenameColumns(#"Changed Type3",{{"加算", "M"}}),
#"Inserted Addition1" = Table.AddColumn(#"Renamed Columns2", "加算", each [Cの開始値] + [レコード別加算値], type number),
#"Changed Type4" = Table.TransformColumnTypes(#"Inserted Addition1",{{"加算", type text}}),
#"Renamed Columns3" = Table.RenameColumns(#"Changed Type4",{{"加算", "C"}}),
#"Sorted Rows" = Table.Sort(#"Renamed Columns3",{{"インデックス", Order.Ascending}, {"レコード別加算値", Order.Ascending}}),
#"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"数量", "Mの開始値", "Cの開始値", "インデックス", "レコード別加算値"}),
#"Renamed Columns4" = Table.RenameColumns(#"Removed Columns",{{"新しい数量", "数量"}})
in
#"Renamed Columns4"
- 構文エラーがないことを確認できたら[完了]ボタンをクリックする。
- プレビューの内容に問題がなければ、[クエリの設定]ウィンドウよりそのクエリを任意の名前に変更し、[ホーム]タブ -> [閉じる]グループ -> [閉じて読み込む]をクリックする。