[[20230925175940]] 『パワークエリで複数列を一列にしたいです。』(クエリ学習」) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パワークエリで複数列を一列にしたいです。』(クエリ学習」)

いつもお世話になります。
35行で改行してある一覧表を元のabc列だけの一覧データにしたいのですが、クエリで可能でしょうか?
No.は連番で重複はありません。
ADGと三つおきになっており都道府県のような地域区切りで、地域ごとセルは結合されています。
No.と名称は結合されていません。

	A列	B列	C列	D列	E列	F列	G列	H列	I列
1		No	名称		No	名称		No	名称
2	愛媛	1	う1	大阪	36	あ1	兵庫	71	い1
3	茨城	2	う2		37	あ2		72	い2
4		3	う3		38	あ3		73	い3
5		4	う4		39	あ4		74	い4
6		5	う5		40	あ5		75	い5
7		6	う6		41	あ6		76	い6
8		7	う7		42	あ7		77	い7
9		8	う8		43	あ8		78	い8

結合解除で、空白セル選択・・・・の昔ながらの方法ならわかるのですが、クエリでできたらと考えました
よろしくお願いします

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 ちょっと、確認です。<元表>と<結果表>は以下で合ってますか?

 <元表>  [A3〜A9][D2〜D9][G2〜G9]はセル結合されている。
     __A_  __B  __C_  __D_  __E  __F_  __G_  __H  __I_
 1         No   名称        No   名称        No   名称
 2   愛媛    1  う1  大阪   36  あ1  兵庫   71  い1
 3   茨城    2  う2         37  あ2         72  い2
 4           3  う3         38  あ3         73  い3
 5           4  う4         39  あ4         74  い4
 6           5  う5         40  あ5         75  い5
 7           6  う6         41  あ6         76  い6
 8           7  う7         42  あ7         77  い7
 9           8  う8         43  あ8         78  い8

 <結果表>
県    No  名称  
愛媛  1   う1  
茨城  2   う2  
      3   う3  
      4   う4  
      5   う5  
      6   う6  
      7   う7  
      8   う8  
大阪  36  あ1  
      37  あ2  
      38  あ3  
      39  あ4  
      40  あ5  
      41  あ6  
      42  あ7  
      43  あ8  
兵庫  71  い1  
      72  い2  
      73  い3  
      74  い4  
      75  い5  
      76  い6  
      77  い7  
      78  い8  
(まる2021) 2023/09/25(月) 20:06:42

 ・都道府県の列で、フィル/下へ
 ・インデックス列の追加
 ・[インデックス]列を選んで、「その他の列のピボット解除」
 ・[属性]列を置換で、"列" を削除
 ・[属性]列のデータ型:整数
 ・[属性]列を、変換/標準/減算で、値1
 ・[属性]列を、列の追加/標準/除算(整数)、値3
 ・[属性]列を、列の追加/標準/剰余、値3
 ・[インデックス][整数除算]列を選んで、列の追加/列のマージ 区切り:カンマ 
 ・[属性]列を削除
 ・[剰余]列を選んで、変換/列のピボット
 ・[結合済み]列で、昇順ソート
 ・[結合済み]列を削除
 ・1行目をヘッダーとして使用
 ・[Column1]列で.空の削除
 ・[No]列で.昇順ソート

(マナ) 2023/09/25(月) 20:43:47


 追記

 ・ファイルから/ブックからで、Power Queryエディーターに取得
(マナ) 2023/09/25(月) 21:04:21

必ず2行目に都道府県名が入るのかが不明なので下方向にフィルは最後にします。

    上位行の保持 = Table.FirstN(ソース, each [Column2]<>null),
    リスト変換 = Table.ToColumns(上位行の保持),
    リスト分割 = List.Split(リスト変換, 3),
    リスト編集 = List.Transform(リスト分割, each List.Skip(List.Zip(_))),
    リスト結合 = List.Combine(リスト編集),
    テーブル変換 = Table.FromRows(リスト結合),
    下方向にフィル = Table.FillDown(テーブル変換,{"Column1"})
(d-q-t-p) 2023/09/26(火) 04:43:52

 >必ず2行目に都道府県名が入るのかが不明なので下方向にフィルは最後にします。

 なるほどです。あと、列名は。列1〜列9でなく、Column1〜Column9のようなので修正。

 ・インデックス列の追加
 ・[インデックス]列を選んで、「その他の列のピボット解除」
 ・[属性]列を置換で、"Column" を削除
 ・[属性]列のデータ型:整数
 ・[属性]列を、変換/標準/減算で、値1
 ・[属性]列を、列の追加/標準/除算(整数)、値3
 ・[属性]列を、列の追加/標準/剰余、値3
 ・[インデックス][整数除算]列を選んで、列の追加/列のマージ 区切り:カンマ 
 ・[属性]列を削除
 ・[剰余]列を選んで、変換/列のピボット
 ・[結合済み]列を削除
 ・[1]列で、降順ソート
 ・1行目をヘッダーとして使用
 ・[No]列でフィルター 指定の値とと等しくない:No
 ・[No]列で、昇順ソート
・[Column1]列で、フィル/下へ
(マナ) 2023/09/26(火) 08:25:59

ありがとうございます!
可能なんですね。
早速やってみます

(クエリ学習」) 2023/09/26(火) 12:24:36


すみません
希望の結果を書くの忘れていました。
気を付けます。
(クエリ学習」) 2023/09/26(火) 12:36:27

d-q-t-p様
ありがとうございます。
仕組みはわからないですけど、綺麗にできました。

マナ様
丁寧なインストラクション有難うございます
[剰余]列を選んで、変換/列のピボットで、「値、集計しない」としてみました。
Noがテキストだったので数字に変換して並び替えできました。

ピボット使いこなせるようになりたいです
すごいですね

(クエリ学習」) 2023/09/26(火) 23:25:15


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.