[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『パワークエリでカンマ区切りのデータを左から順にセット分割』(exp)
パワークエリについて質問させてください。
A B
1 運行 着時刻
2 東京,新橋,品川 1:00,1:05,1:15
となっているデータを
A B
1 運行 着時刻
2 東京 1:00
3 新橋 1:05
4 品川 1:15
といったように、左のデータから順番にセットで分割していく方法はありますでしょうか?
列分割だけでは不要な行が複製されてしまい、うまくセットが組めずに困っております。。。お力添えいただけますと幸いです。よろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
ヘッダーを 1行目として使用
↓
変換タブ > テーブルグループ > 入れ替え
↓
変換タブ > テキストの列グループ > 区切り記号による列の分割
↓
変換タブ > テーブルグループ > 入れ替え
↓
1行目をヘッダーとして使用
(TZ) 2023/10/02(月) 05:05:11
let
ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
変更された型 = Table.TransformColumnTypes(ソース,{{"運行", type text}, {"着時刻", type text}}),
降格されたヘッダー数 = Table.DemoteHeaders(変更された型),
削除された他の列 = Table.SelectColumns(降格されたヘッダー数,{"Column1"}),
区切り記号による列の分割 = Table.ExpandListColumn(Table.TransformColumns(削除された他の列, {{"Column1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
カスタム1 = Table.SelectColumns(降格されたヘッダー数,{"Column2"}),
区切り記号による列の分割1 = Table.ExpandListColumn(Table.TransformColumns(カスタム1, {{"Column2", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column2"),
カスタム2 = List.Zip( { 区切り記号による列の分割[Column1], 区切り記号による列の分割1[Column2] } ), カスタム3 = Table.FromRows( カスタム2 ),
昇格されたヘッダー数 = Table.PromoteHeaders(カスタム3, [PromoteAllScalars=true]) in 昇格されたヘッダー数 (TZ) 2023/10/02(月) 06:19:12
・インデックス列の追加 ・[インデックス]列を選んで、変換/その他の列のピボット解除 ・[値]列を選んで、変換/列の分割/区切り記号による分割 ※詳細設定オプションで、分割後の列数:10 ・[インデックス][属性]列を選んで、変換/その他の列のピボット解除 ・[属性]列を選んで、変換/列のピボット ・不要列を削除 ・閉じて読み込む
※重要! 列の分割で、想定される最大列数を指定してください (マナ) 2023/10/02(月) 08:03:59
こんなんでも
let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], Combine=Table.CombineColumns(ソース,{"運行","着時刻"},each _,"Combine"), Transform = Table.TransformColumns(Combine, {"Combine", each List.Zip({Text.Split(_{0},","),Text.Split(_{1},",")})}), Expand = Table.ExpandListColumn(Table.ExpandListColumn(Transform, "Combine"), "Combine"), Split=List.Split(Expand[Combine],2), TB=Table.FromRows(Split,{"運行","着時刻"}), 変更された型 = Table.TransformColumnTypes(TB,{{"運行", type text}, {"着時刻", type time}}) in 変更された型 (まる2021) 2023/10/02(月) 08:28:45
リスト変換 = List.Transform(Table.ToColumns(ソース), each Text.Split(Text.Combine(_, ","), ",")), テーブル変換 = Table.FromColumns(リスト変換, {"運行", "着時刻"}), 型の変更 = Table.TransformColumnTypes(テーブル変換,{{"運行", type text}, {"着時刻", type time}}) (d-q-t-p) 2023/10/02(月) 09:23:02
Sheet2!A2: =TRIM(MID(SUBSTITUTE(Sheet1!A$2,",",REPT(" ",100)),1+100*(ROW(A1)-1),100))
右と下にコピーします。
(メジロ) 2023/10/02(月) 10:47:59
すいません。ここを読み飛ばして数式の案を書き込みました。
(メジロ) 2023/10/02(月) 11:00:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.