点击蓝字【秋叶 Excel】
发送【礼包】
免费领办公神器、Office 模板和免商字体!
本文作者:小爽
本文编辑:卫星酱
大家好,我是学 Excel 的小爽鸭~
产品从工厂生产出来之后,需要进行装箱操作。
不同的产品会有各自对应的箱规 (箱子规格) ,每一个箱子需装有规定数量的产品。
但是在实际生产过程中,不可能所有的产品刚好装满指定的箱子,大概率会有剩余。
所以,有时需要将数量按照箱规进行一个个拆分,如下图所示。
那么如何将左表拆分成右表的形式呢?
用函数?用 VBA?用 PQ!!!
PowerQuery (简称 PQ) 是 Excel 自带的利器,利用它,我们可以获取数据,清洗数据,还有整理数据。
现在,我们尝试用 PQ 去解决这个问题。
由于我们需要将数量按照指定规格数拆成一条条数据,最后不足规格数量的为一条。
所以只需要根据取整数,重复对应的箱规数。
最后与剩余数进行拼接即可。
思路已经有了,接下来就开始操作啦 ~
整除数与取余数
具体操作 :
我们先将数据导入到 PQ 编辑器中。
选中数据表,在【数据】选项卡下,单击【来自表格/区域】;
单击【确定】按钮,进入 pq 编辑器中。
下面,为了方便大家理解,我采取新增列的方式,一步步带大家完成这个问题。
首先我们来获取数量与规格之间相除后的余数,使用的是 Number.Mod。
=Number.Mod(被除数 , 除数)在【添加列】选项卡,单击【自定义列】;
新列名:取模。
自定义列公式为:
=Number.Mod([数量],[箱规])然后获取数量与规格之间相除后的整数,使用的是 Number.IntergerDivide。
=Number.IntergerDivide(被除数,除数在【添加列】选项卡,单击【自定义列】;
新列名:取整重复。
自定义列公式为:
=Number.IntegerDivide([数量],[箱规])整除数和余数都有了,接下来就是重复取整数后拼接啦。
重复拼接扩展
我们要将数量按照指定规格数拆成一条条数据,也就是要重复箱规数的数据。
对于重复列表,我们使用的是 List.Repeat 函数。
=List.Repeat({值},重复次数)下面,我们在取整后的公式编辑器,加上重复函数。
如下图所示。
= Table.AddColumn(已添加自定义,"取整重复",each List.Repeat({[箱规]},Number.IntegerDivide([数量],[箱规]))由于余数为 0 部分,不需要进行拼接,所以我们可以用 if 语句进行判断。
在【添加列】选项卡,单击【自定义列】;
新列名:拼接。
自定义列公式为:
if [取模]=0then [取整重复]else [取整重复]&{[取模]}这时可以看到,我们已经将数据拼接好了。
现在,只需要把其他不需要的列删除掉就可以。
删除其他列,保留【产品名称】和【拼接】列。
选择【产品名称】列,按住【Ctrl 键】,再选择【拼接】列,鼠标右键选择【删除其他列】。
选择扩展按钮,选择 「扩展到行」。
到这里,我们就完成了。
是不是很简单~
延伸一下
如果大家掌握到一定程度,也可以不选择通过自定义列的方式一步步完成效果。直接写一个 m 函数公式也可以。
= Table.ExpandListColumn(Table.AddColumn(源,"a",eachletm= Number.Mod([数量],[箱规]),n=List.Repeat({[箱规]},Number.IntegerDivide([数量],[箱规]))inif m=0 then n else n&{m})[[产品名称],[a]],"a")当然方法不是只有这种,比如我们可以用递归,List.Accumulate 等等方法。掌握最基础的方法就行啦。
总结一下
本文讲解的是,将数量根据指定的规格进行扩展的 PQ 做法。
涉及三个基础 m 函数:
❶ Number.Mod (取模函数) ,类似于 Excel 的 mod 函数。
❷ Number.IntergerDivide (取整函数) ,类似于 Excel 的 int 函数。
❸ List.Repeat 列表重复函数。
❹ if ……then……else 语句,跟 if 函数一样是判断作用,不过语句和函数概念不同。
今天讲解就到这里就结束啦~
文中提到的三个 m 函数大家掌握了嘛,是不是觉得 PQ 中的 m 函数其实也不是这么难?
到目前为止,读到这里的你,脑子过一下,认识了哪些 m 函数了呢,留言区一起聊聊吧~
如果你在工作中遇到问题想有老师指点,想学习更多 Excel 技巧,想拥有更多练手机会……
欢迎报名我们秋叶家的《3 天 Excel 集训营》,这里有老师直播+录播教学,有助教群内 1 对 1 答疑,还有同学一起交流进步!
3 天时间,每天 30 分钟左右,你也有可能成为 Excel 高手!
3 天 Excel 集训营
提升效率,助你准时下班
数据可视化,让领导刮目相看
秋叶 Excel 读者专享
官网价99
点下方小程序即可报名
现在报名免费获取
307 个函数清单
35 个常用函数说明
发送【箱规】
领取本文配套练习文件!
你最好看
动动小手
分享给朋友~
*以上内容包含广告
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.