[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パワークエリで同一ブック内の複数シートを「列名を合わせて」結合したい』(tkm)
Power Query(パワークエリ)で同一ブック内の複数シートを結合する際に、列名を合わせて結合する方法はありませんか?
ひとつのExcelブック内に複数のシートがあり、そのシートは定期的に増えていきます。
シートのデータは基本的に同じ形式のテーブルデータなのですが、一部のシートである列があったり無かったりします。
そのため以下の方法では、列が合わなくなります。
https://hamachan.info/excel2019-powerquery-ketugou/
例えばヘルパークエリを用いて、それぞれのデータで列名をヘッダーに揃えてから結合するようなことが、同一ブック内の複数シートでおこなうことはできませんでしょうか。
ご存じの方がいたら教えてください。よろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
原因が表の形式が揃っていないことにあるなら まずはそれぞれの表形式を揃えることはできませんか? (ささみ) 2025/03/21(金) 10:20:09
>一部のシートである列があったり無かったりします。 >それぞれのデータで列名をヘッダーに揃えてから結合する この部分がイメージしづらいです。以下の様に例を挙げて説明できますか?
<Sheet1> |[A] |[B] |[C] [1]|項目1|項目2|項目3 [2]|aaa | 1| 10 [3]|bbb | 2| 20 [4]|ccc | 3| 30
<Sheet2> |[A] |[B] |[C] |[D] [1]|項目1|項目2|項目4|項目5 [2]|ddd | 4| 40| 400 [3]|eee | 5| 50| 500 [4]|fff | 6| 60| 600
<希望図> |[A] |[B] |[C] |[D] |[E] [1]|項目1|項目2|項目3|項目4|項目5 [2]|aaa | 1| 10| | [3]|bbb | 2| 20| | [4]|ccc | 3| 30| | [5]|ddd | 4| | 40| 400 [6]|eee | 5| | 50| 500 [7]|fff | 6| | 60| 600
こういうことで合ってますか? この場合だと、各シート毎、共通する列以外に「列のピボット解除」をして、 クエリの追加で一つの表にまとめた後、項目の列で「列のピボット」をしています。 (RB) 2025/03/21(金) 10:45:51
>列名をヘッダーに揃えてから結合 の意味がいまひとつよくわかってないですが、 シート毎に「1行目をヘッダとして使用」してから Table.Combine すればいいと思うので、 こんな感じじゃないかと思います。
let ソース = Excel.Workbook(File.Contents("D:\test.xlsx"), null, true), フィルターされた行 = Table.SelectRows(ソース, each ([Name] <> "main") and ([Kind] = "Sheet")), /* なんかうまいことシート名とかでフィルタしてください。 */ カスタム1 = Table.TransformColumns(フィルターされた行 ,{{"Data" , each Table.PromoteHeaders(_, [PromoteAllScalars=true])}}), /* Data列がTableなので、1行目をヘッダに昇格 */ カスタム2 = Table.Combine(カスタム1[Data]) /* Data列を Table.Combine */ in カスタム2 (´・ω・`) 2025/03/21(金) 16:09:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.