2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 153

426 :名無しさん@そうだ選挙にいこう:2023/04/01(土) 19:42:21.86 .net
>>422
名前と要素の2列だけの読取りクエリーから直接、
名前列をピボット(値列:要素、値の集計関数:集計しない)しても
値が1つ(う)しかないC列以外はエラーになった。
変換先は、暗黙のうちに、
・Aグループ、Bグループ、Cグループそれぞれで縦に並べる順番(仮に「行番号」)
があるので、ピボットするときはリクツ上、少なくとも3列以上ないとできないのかも?

で、
1. まず、名前でグループ化して、その中で順位を振る
2. 名前、要素、行番号の3列が出来てから、初めて
 名前列をピボット(値列:要素、値の集計関数:集計しない)
とすると、こんな感じ。
https://i.imgur.com/5whiPoz.png
行番号が不要なら、このあと列削除でもOK。

詳細エディター
let
ソース = Excel.CurrentWorkbook(){[Name="T_元表"]}[Content],
変更された型 = Table.TransformColumnTypes(ソース,{{"名前", type text}, {"要素", type text}}),
グループ化された行 = Table.Group(変更された型, {"名前"}, {{"wTable", each _, type table [名前=nullable text, 要素=nullable text]}}),
追加されたカスタム = Table.AddColumn(グループ化された行, "indexTable", each Table.AddIndexColumn([wTable], "行番号", 1, 1)),
削除された他の列 = Table.SelectColumns(追加されたカスタム,{"indexTable"}),
#"展開された indexTable" = Table.ExpandTableColumn(削除された他の列, "indexTable", {"名前", "要素", "行番号"}, {"名前", "要素", "行番号"}),
変更された型1 = Table.TransformColumnTypes(#"展開された indexTable",{{"名前", type text}, {"要素", type text}, {"行番号", Int64.Type}}),
ピボットされた列 = Table.Pivot(変更された型1, List.Distinct(変更された型1[名前]), "名前", "要素")
in
ピボットされた列

グループ内で番号を振る方法はこれを参考にした。
https://papasensei365.com/powerquery-index-the-group/

総レス数 1002
233 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200