PowerQuery:将多值单元格拆分到空单元格下方 [英] Powerquery: split multi-value cell to below empty cells
本文介绍了PowerQuery:将多值单元格拆分到空单元格下方的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用PowerQuery将很多表格从pdf文件导入到Excel中,它工作得很好。
除了其他几个迁移外,我还有以下无法解决的任务:
在某些情况下--特别是。换页符之后-应该放入单个单元格(一个在另一个下面)的单元格被放入一个用换行符连接的单元格,而下面的单元格是空的。我需要拆分这样一个单元格的值(单元格内容包含换行符),并将第2到n个值放入此单元格下方相应的空单元格中。
(这是一种拆分的向下钻取(&Q;...)
我对M(不是VBA或编程)非常陌生,但我找不到有效的解决方案。
推荐答案
这很难很好地完成,但您可以按照@horseyride的建议,在换行分隔符上使用Text.Split
展开,删除第二列上的空行,然后使用Table.FromColumns
将这些列重新组合在一起。
下面是一个可以粘贴到高级编辑器中的示例:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUUoEYkMDpVgdCDcJiI0gXCMgMxkkawrnpsTkpcbkpYEEjeCCIJ4FMs8IImcMZKaDJI3h3AwQ11wpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Week = _t, A = _t, B = _t]),
TransformA = List.Select(List.Combine(List.Transform(Source[A], each Text.Split(_, "#(lf)"))), each Text.Length(_) > 0),
FromCols = Table.FromColumns({Source[Week], TransformA, Source[B]}, {"Week", "A", "B"})
in
FromCols
将A
列转换为列表,拆分换行符上的每个元素,将每个结果组合在一起,并筛选出空字符串:
最后一步从原始表中取出列Week
和B
,并将转换后的列A
放在中间:
如果额外展开的行数与删除的空行数不完全匹配,您将遇到麻烦,但这应该在它们确实匹配的假设下工作。
这篇关于PowerQuery:将多值单元格拆分到空单元格下方的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文