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)=>处理)

图解函数:

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第1张图片

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第2张图片

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第3张图片

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

(2).List.ReplaceMatchingItems

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

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第4张图片

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

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第5张图片

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第6张图片

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

题目如图:

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第7张图片

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第8张图片

ii:最后整理合并表格.

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第9张图片

总结一下: 

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

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

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

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

table 内 下拉列表 被遮挡_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems_第10张图片

群名:轻松学会PowerQuery

群号:830974032

你可能感兴趣的:(table,内,下拉列表,被遮挡,将表中的一个字段和到list)