![39eabb1325e0de6b1483f12a8ac934da.png](https://i-blog.csdnimg.cn/blog_migrate/6779bd3859883182071db0ec2188950d.jpeg)
![4db5e0c4c73fb5b23cb8aecaf79092b7.png](https://i-blog.csdnimg.cn/blog_migrate/775b45a66a940ac369ed2bb30cdbca64.jpeg)
1. 按条件跳过后提取
Table.Skip(table as table, countOrCondition as any) as table
第1参数是需要操作的表;第2参数是指定要跳过的行,是数字或者条件。如果是数字则代表直接从顶部开始跳过指定行数,0的话代表不跳过,如果是条件,则从头开始跳过满足条件的行直到不满足条件为止;返回的是表格形式。
例:
Table.Skip(源,1)=
![fb26f463630565acc60ffcf2a722f4f6.png](https://i-blog.csdnimg.cn/blog_migrate/7657b5141e9070098aaa637e6ed4465c.jpeg)
Table.Skip(源, each [成绩]>=90)=
![5ec62cbdc2bb530f2cef00882438b7ed.png](https://i-blog.csdnimg.cn/blog_migrate/41dcd95bc0917d3ce7c801dcfefaf909.jpeg)
Table.Skip(源, each [成绩]=90)=
![4db5e0c4c73fb5b23cb8aecaf79092b7.png](https://i-blog.csdnimg.cn/blog_migrate/775b45a66a940ac369ed2bb30cdbca64.jpeg)
解释:因为从第一条开始匹配,数值100不等于90,所以结束返回,一条都没匹配则代表不跳过,返回原表。
2. 按条件筛选行后提取
Table.SelectRows(table as table, condition as function) as table
参数1位需要操作的表;参数2是筛选的条件,为一个函数;返回的结果也是表。
例:
Table.SelectRows(源,each[学科]="语文") =
![2c673ee072cd22f66fe02e3b322af1b8.png](https://i-blog.csdnimg.cn/blog_migrate/1bce20c022f81358818779d880ad10ae.jpeg)
Table.SelectRows(源, each [成绩]>=List.Average(源[成绩]))=
![6e194249c57a9af9103391c94870b1e9.png](https://i-blog.csdnimg.cn/blog_migrate/7a31b9b040fa97a11095fe5226862ef2.jpeg)
解释:通过先计算成绩的平均值,然后再用成绩大于平均成绩作为条件进行筛选。
Table.SelectRows(源, each Text.Contains([姓名], "张") or Text.Contains([姓名],"李"))=
![cbf8a672873326a9ada849f2f42bd6f0.png](https://i-blog.csdnimg.cn/blog_migrate/2b7e11c1e2eb2409cd9b9e2cbfcb7ed8.jpeg)
解释:筛选姓名包含"张"或者姓名包含"李"的结果。
Table.SelectRows(源, each List.ContainsAny(Text.ToList([姓名]),{"张