excel 保留重复行(Power Query 之 M 语言)

时间:2023-08-10 17:10:52 

数据源:

“姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列7行数据,其中姓名列,第1、2行与第6、7行内容重复

目标:

留下第1、2、6、7姓名列中内容重复的行

操作过程:

选取指定列》【主页】》【保留行】》【保留重复项】

excel 保留重复行(Power Query 之 M 语言) 

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)

  • 将原表和只保留重复值的表进行【合并查询】,连接种类使用“内部”

 

将所有步骤拆分如图所示。

excel 保留重复行(Power Query 之 M 语言) 

其中核心部分:

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结尾么……

标签:excel保留重复行
0
投稿

猜你喜欢

  • win7与ubuntu双系统完美卸载ubuntu的方法

    2022-04-04 23:39:16
  • Win10系统默认web浏览器设置找不到Edge选项的解决方案

    2022-04-16 04:44:27
  • win8开机变慢怎么办 启动Hybrid Boot与选择无GUI引导让win8开机更快速

    2023-02-12 01:34:04
  • 逍遥安卓模拟器怎么设置分辨率?

    2023-03-05 21:08:48
  • win10 Edge浏览器周年更新版提升了多少?

    2022-04-11 19:59:32
  • Ultraiso注册码是什么?Ultraiso软碟通如何注册?

    2023-05-08 04:03:53
  • excel2017表格怎么插入数值调节按钮?

    2022-08-08 09:19:11
  • win7系统语言栏不见了怎么调出来?

    2023-10-14 04:46:09
  • Win7系统中打开U盘显示I/0设备错误无法进行此项请求

    2023-10-20 03:50:33
  • wps文字怎么自由裁剪图片

    2023-05-02 23:35:29
  • excel折线图怎么设置实线虚线混排显示?

    2023-04-23 19:38:49
  • 网易云音乐怎么分享单曲?网易云音乐分享单曲的方法

    2022-04-24 16:21:20
  • Win7系统cad不能复制粘贴怎么办?

    2022-12-02 08:34:46
  • ppt音乐相册怎么做?PPT的制作技巧介绍

    2022-09-22 03:24:06
  • 如何使用HomePod和Apple TV 4K设置家庭影院音频?

    2022-03-04 19:05:08
  • 系统损坏进不去怎么重装系统?

    2023-02-03 12:39:19
  • 云橙PDF编辑器怎么去水印?云橙PDF编辑器去水印的方法

    2023-10-17 23:13:43
  • excel 模板路径的获取方法

    2023-09-17 10:17:16
  • AutoCAD2016快速入门:偏移

    2023-02-07 07:05:12
  • Win10 2004系统显卡驱动报错怎么解决?

    2023-06-20 17:48:45
  • asp之家 电脑教程 m.aspxhome.com