Excel表格如何将一列数字快速分成几行几列?这个问题在Excel中用函数解起来也不复杂,但是,正如很多开始用Power Query的朋友说,自从学了Power Query,什么问题都首先想着用Power Query来解了,因为Power Query不仅简单,而且随着数据的变化,可以一键刷新——然而,我回头看一下以前的文章,竟然发现,这个经典的问题,居然没有写过,特此补上,并在后面加上一个M函数直接解法,供大家参考。
2、添加索引列
3、对索引列取整除数,如分成6行
4、对索引列提取余数(模)
5、透视
搞定:
全过程不需要写任何的函数、公式、代码,鼠标点几下就搞定了,而且,有新的数据进来后,一键刷新搞定:
当然,如果想用函数写代码直接解,也是可以的,给一个解法供大家参考:
核心思路:
根据需要分成多少列,比如这里分成6(v)列,进行批量处理(List.Transform),通过List.Alternate函数,针对List.Skip后的源数据,每间隔5(v-1)个数字,取1个。
为什么要用List.Skip动态的处理源数据(跳过开头的若干个数)呢?
因为List.Alternate函数允许你保留开头若干个数据后再开始间隔取数,因此,如果不用List.Skip先去掉开头的数据,会导致List.Alternate所取的数据不正确。比如,取第2列时,我们要从2开始取,如果用List.Alternate(源[数据],5,1,2)直接取,会保留源数据中的第1个数,然后再从2开始取,这样就会多了第1个数。
最近有朋友说,这个我通过Power BI发布的将Power Query函数和系列文章汇总的公开链接太有用了,那我以后就不怕占地方,还是继续放。
注意,因为公众号文章是不能直接通过点击的方式跳转到外部链接的,所以需要大家动手复制到浏览器中打开。
在线M函数快查及系列文章链接(建议复制到浏览器中打开后收藏使用):
https://app.powerbi.com/view?r=eyJrIjoiZDVhZDBlMTYtNDkzNC00YWFjLWFhMmMtMmI3NTk2Y2ZhMzc3IiwidCI6ImUxMTAyMjkxLTNkYzUtNDA1OC1iMDc3LWQ0YzU4YWJkMWRkOCIsImMiOjEwfQ%3D%3D
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!