Excel 重复行|弃用公式,PQ 才是最优解
- 2026-11-07 09:00:05
Excel 重复行|弃用公式,PQ 才是最优解宝子们✨ 先来灵魂拷问:让你从表1变成表2,你第一反应是啥方法? (某饮料公司给产品批价格的小伙伴好好想哦) 表1(原始数据):
表2(目标效果): 张三 张三 张三 张三 李四 李四 李四 我猜你第一反应是复制粘贴?! 要是有五百行人名,怕是要熬到半夜,手都要复制废,还容易数错漏填! 然后你又想到用公式?别急,先给你安排上两种公式法,再看PQ有多香——直接碾压,一次性搞定,不用熬大夜! 适合有新版本Excel的宝子,不用手动拖动,公式一输直接溢出出结果,复制下面公式就能用: 公式(直接复制,适配A2:B100数据区域): =LET(数据, A2:B100, 行号, SEQUENCE(ROWS(数据)), 次数列, INDEX(数据, 行号, 2), 总条数, SUMPRODUCT(次数列), 分组, ROUNDUP(SEQUENCE(总条数)/次数列, 0), 结果, INDEX(数据, 分组, {1,2}), 结果) 旧版本Excel(2019、2016及以下)的宝子看这里!不支持动态数组公式,就用这个方法,虽然要手动拖动几步,但操作简单,稳不出错,适合新手和少量数据场景~ 具体操作步骤(3步搞定,跟着走不踩坑) 第一步:插入辅助列 在原始数据旁边插一列空白辅助列(比如C列,表头写“辅助”),专门用来计算填充范围,别插错位置哦! 第二步:输入辅助公式并拖动 在C2单元格输入下面的公式,输完后,鼠标放在C2右下角,光标变成“黑色十字”(填充柄),就向下拖动,直到出现空白单元格(拖动长度建议超过所有次数相加的总数,避免漏填): 辅助公式(直接复制,不用改): =IF(ROWS($A$2:A2)<=SUM($B$2:$B$100), A2, "") ⚠️ 划重点:公式里的「$B$2:$B$100」,要和你原始数据的次数列区域一致,要是次数列到B200,就改成「$B$2:$B$200」! 第三步:填充姓名和次数,删除空白行 宝子们,这两种公式法是不是还是有点麻烦?要么受Excel版本限制,要么要手动拖动、删空白行,要是数据多,照样熬大夜😭 重点来啦——PQ方法,一次性搞定,全程3步,不用费脑子! 很多宝子一听到PQ就慌:“要写代码?太复杂了吧!” 大漏特漏 根本不用你写一个字,现成代码复制黏贴,配合3步点击,新手小白3分钟上手,修改数据后刷新就同步,省时又省心,对比下来,PQ优势直接碾压! 重点强调 不用写代码!不用懂原理!复制现成模板,3步操作直接出表2效果,所有Excel版本都适配(旧版本启用PQ方法放文末,超简单)。 第一步:将原始数据转为“表格”(关键一步,别漏!) ⚠️ 划重点:PQ只认“表格”格式,普通单元格它不识别,这一步错了,后面全白搭! 第二步:进入PQ编辑器,粘贴现成代码 现成代码(直接复制,适配表1,不用改一个字): let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 更改的类型 = Table.TransformColumnTypes(源,{{"姓名", type text}, {"次数", Int64.Type}}), 已添加自定义 = Table.AddColumn(更改的类型, "自定义", each {1..[次数]}), 展开的自定义 = Table.ExpandListColumn(已添加自定义, "自定义") in 展开的自定义 第三步:刷新导出结果,搞定收工! 简单说就是:读取“表1”的数据→设置列格式防报错→生成和次数对应的数字列表→展开列表,直接变成表2效果,核心逻辑不用深究,会用就行! 后续修改超简单,改完原始次数,刷新就同步; ✅ 适配海量数据,五百行、一千行都不卡顿,批量操作直接封神! 【文件】→【选项】→【加载项】→ 管理那里选【COM加载项】→点【转到】→ 勾选「Microsoft Power Query for Excel」→点【确定】→ 重启Excel,就有PQ功能啦! 宝子们,对比完三种方法,是不是觉得PQ才是偷懒高效的最优解? 不用熬大夜复制粘贴,不用反复调公式,掌握“复制代码+3步点击”,就能轻松从表1变成表2,省时又省力! 操作中遇到报错、不会改代码,评论区留言,我一一回复,帮大家避坑~ 点赞收藏+关注,下次用的时候直接翻,高效搞定Excel重复行,再也不用加班赶工❤️
姓名 | 次数 |
张三 | 4 |
李四 | 3 |
王五 | 5 |
方法1:Excel 365/2021专属|动态数组公式
方法2:通用版|所有Excel版本可用(辅助列+填充,稳不出错)
选中C列所有有内容的单元格(从C2到最后一个非空白),Ctrl+C复制,再粘贴到D列(作为最终姓名列); 次数列也一样:E2输入「=B2」,向下拖动填充,和D列姓名对应上; 最后选中D、E列,筛选出空白行删掉,就搞定啦!
PQ一次性搞定(天花板级方法,强烈推荐!)
具体操作步骤(超精简,无冗余,小白必看)
选中原始数据(要包含表头哦,比如A1:B4); 点击顶部【插入】→【表格】; 勾选「表包含标题」,点【确定】; 默认表名“表1”(建议别改,省得还要调代码)。
选中刚做好的表格,点顶部【数据】→【自表格/区域】,自动打开PQ编辑器; 点编辑器顶部【主页】→【高级编辑器】; 删掉里面原有的所有代码(别留一丝痕迹!); 粘贴下方现成代码,点【完成】,PQ会自动运行。
代码运行后,数据已经自动变成表2的样子啦(不想看到“自定义”列,右键点它→【删除】就行); 点编辑器顶部【关闭并上载】,结果会自动导出到新工作表; 后续改次数:直接改原始“表1”的次数,右键结果表格→【刷新】,就能同步更新,不用重新操作!
代码简易说明(小白无需记,看一眼安心)
PQ核心优势(为什么说它是天花板?)
不用手动复制,不用熬大夜,一键生成表2效果; 不受版本限制,所有Excel都能用; 代码复制即走,不用改一个字,小白零门槛;
补充:旧版本Excel启用PQ方法(小白也能搞定)
新手避坑指南(必看!别踩雷!)
表名一定要和代码里的“表1”一致,不一致会报错; 次数列必须是数字格式,文本格式会翻车(文本转整数:选中次数列→右键→设置单元格格式→【数字】→【整数】); 粘贴代码前,一定要删掉高级编辑器里原有的代码,避免冲突; 别直接改结果表格,改原始“表1”,再刷新就好!
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。