table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems

(1).List.ReplaceValue

这个和Table.ReplaceValue类似的函数,语法是差不多了.掌握了一个,另外一个差不多会了.相对来说,List.ReplaceValue比较简单.可以参考Table.ReplaceValue函数,具体链接:4.15 表替换函数Table.ReplaceValue

函数语法:=List.ReplaceValue(列表,旧文本,新文本,(x,y,z)=>处理)

图解函数:

a3982022d11f3687202c434be1b6b8d3.png

本来第四参数有连个函数的,Replacer.ReplaceValue和Replacer.ReplaceText,一个只完全替换,一个是局部替换...如下图所示:

723121a0d1c53640da372a76308d1822.png

一般用法就是这样的,但是上述两个函数方法也可以用(x,y,z)=>方式来处理.所以推荐直接使用x,y,z方式进行处理数据.

06f241f99a4abc60c3803dc1c8875459.png

--------------------------

(2).List.ReplaceMatchingItems

函数语法:=List.ReplaceMatchingItems(列表,{ {旧值1,新值1},{旧值2,新值2}...{旧值N,新值N}  },each 处理)

a.批量替换列表里的数据,如果省略了第三参数,就是按照完全相等的方式来替换的,列表里的数据完全等于某个旧值,结果就被替换为对应的新值.

1792fe794a4dce75306ac51c0f76b784.png

其实省略的情况,也可以用第三参数来处理的,其实是包含在第三参数的范围内.就是不处理,直接写上each _ 就行了.

b.当使用第三参数的时候,其实就是定制一个规则,这个如果列表里的数据和第二参数里的旧值.在第三参数里处理的结果一样的,就开始替换.这个讲的可能不要理解,直接来个图:

93285378246fa26e894f52162b4c5b98.png

值得注意的是,通过第三参数处理之后,参数2中的旧值不能返回重复的记过.不然软件无法识别到底返回什么新值.如图所示:

2443d7e44c38c5df5f6e28481b1edf09.png

这个理论是枯燥的,现在来个实例:

题目如图:

d57458466106778081eeec50cf713723.png

  1. 先获取成绩字段为列表,然后用List.ReplaceMatchingItems函数来判断.

454fd3bd3880572c8925a0cbed1abc2f.png

ii:最后整理合并表格.

cb0d8583db838599466d5b3154568173.png

总结一下: 

List.ReplaceValue一般来说就是替换一个值,比较好理解.

而List.RemoveMatchingItems可以替换多个值,不容易理解,容易出错.

相关文件和代码在群里下载

热爱PQ的可以加入此群,大家可以一起学习一起进步

2f741f0432b333ee0ea027bff55e944e.png

群名:轻松学会PowerQuery

群号:830974032


版权声明:本文为weixin_39759995原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。