excel 保留重复行(Power Query 之 M 语言)
发布时间:2023-08-10 17:10:52
数据源:
“姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列7行数据,其中姓名列,第1、2行与第6、7行内容重复
目标:
留下第1、2、6、7姓名列中内容重复的行
操作过程:
选取指定列》【主页】》【保留行】》【保留重复项】
M公式:
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
说明:
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
给指定的列名一个说法,叫作“columnNames”
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
【分组依据】计算指定列里各个值出现次数,并将这结果命名为addCount
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
【保留行】保留“Count”列中值大于1的行
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
【删除列】将“Count”列删除
= let columnNames = {"指定列名"}, addCount = Table.Group(步骤名, columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(步骤名, columnNames, removeCount, columnNames, JoinKind.Inner)
将原表和只保留重复值的表进行【合并查询】,连接种类使用“内部”
将所有步骤拆分如图所示。
其中核心部分:
addCount = Table.Group( 更改的类型,"姓名", {{"Count", Table.RowCount, type number}}),
selectDuplicates = Table.SelectRows(addCount, each [Count] > 1),
removeCount = Table.RemoveColumns(selectDuplicates, "Count"),
最后一步 = Table.Join(更改的类型, "姓名", removeCount, "姓名", JoinKind.Inner)
最终效果:
数据只剩下姓名列中重复的四行数据
多说一句:
好吧,我承认,我被这个公式惊到了!这其实已经不是一个简单的公式,而是一段M代码,这不是有let开头,in结尾么……


猜你喜欢
- 此电脑不满足windows11的所有系统要求怎么办?有些用户在自己的电脑安装win11系统,却收到了这台电脑不符合运行windows11的系
- 计算是表格的一项重要功能,有些人使用表格时不知道它的这项功能而去一步一步去计算,这样又费时又费力,有时还会算错。下面小编就教你怎么在WPS表
- 很多用户更新发现更新了Win10系统的最新更新包后,系统会出现一些小问题,于是用户想要删除最新的更新包,但是不知道要怎么操作,大家可以尝试通
- win11 22H2正式版已经推出了,相信很多用户都安装体验了,很多使用win10用户的也想安装体验,但是不知道怎么安装,下面小编就为大家带
- wordl文件图标显示不正常,但文件能打开,怎么能恢复正常图标?此类问题是由于Word程序相关组件损坏导致,可以通过下面的方案来解决:按键盘
- 在大家平时使用Win10系统的时候,都有使用到控制面板吧,比如添加硬件,添加/删除软件,控制用户帐户,更改辅助功能选项,等等。那么大家有没有
- 在Excel中录入好数据以后,可能会有把Excel设置成只读模式的需求,所以如果不懂得如何设置Excel为只读模式的朋友不妨趁现在学习一番。
- 由于工作需要,我的excel作业经常被同学拿来做参考,可是他总是误操作修改我原来的东西,请问有什么办法既可以让同学看自己的作业不伤和气,又能
- 每个文件都有其扩展名表示其文件格式,就如音乐文件的MP3视频文件的MP4等这种较常见的扩展名。不论是Windows还是MacOS对于常见的扩
- u盘怎么重装系统win7?借助u盘进行系统的重装,非常的方便,而且可以让u盘随身携带,当做应急启动工具,现在的电脑已经是预装win10系统,
- Crystaldiskmark怎么使用?CrystalDiskMark检测工具支持测试存储设备大小和测试数字都可以选择,还可测试可读和可写的
- webcamrt.exe - webcamrt 进程简介进程文件: webcamrt or webcamrt.exe 进程名称: Webca
- Windows 10安装过程的一部分通常涉及创建账户,用户可以选择在线使用Microsoft帐户登录或在不使用线上服务的情况下在本地使用脱机
- 微星Creator 15是一款性能非常强大的娱乐影音笔记本电脑,其搭载了英特尔第10代酷睿i7处理器以及发烧级独立显卡,能够满足用户们日常娱
- 在日常工作中,mac电脑长时间不使用,或者临时走开或者开个小会,那么Mac时电脑会自动锁屏,其实我们在锁屏时不解锁也是可以看到别人发送的信息
- 在应聘工作参加面试时最基础的就是需要准备一份简历,其实WPS Office手机版里的简历助手就能够快速帮助我们完成一份简历,那么如何使用WP
- 有时候发现页眉的边距想要调整一下,但是新手不会,上网找怕麻烦,而且教程太乱没有统一的答案怎么办,哪里有更好的方法??下面小编为大家介绍wps
- 大家在大开word文档时,有可能无法调整页面设置或是在打印预览时,页面设置是灰色的不可选。下面由小编为您提供解决的方法,希望能帮助你。方法/
- iPad 的屏幕十分适合同时使用多个 app,以帮助用户提升学习和工作效率 。而在 iPadOS 15 中,多任务处理功能更顺手、更方便,功
- 人生:请教下高手,=IF(AND(B12=10.1,(FIND("Ø",C12)=2)),(ABS(SUBSTITUTE