1. 按错误的信息提取
Table.SelectRowsWithErrors(tableas table,optional columns as nullable list)as table
第1参数为需要操作的表;第2参数为是否指定列查找,是一个列表格式,默认是不指定列;返回的结果是表格式。
例:
我们先自定义一列是错误信息。
Table.SelectRowsWithErrors(源)=
解释:因为这3行都有错误,所以筛选错误后都进行了返回。
Table.SelectRowsWithErrors(源,{"学科"})=
解释:因为第2参数指定了需要查找的学科这列,这列里面没有错误的行,所以返回的是一个空表,此外需要注意的是,虽然只指定一个列表字段,但是其格式是列表,所以需要用{}表示。
2. 按表格偏移提取
Table.Range(table as table,offset as number,optional counts as nullable number)as table
第1参数为需要操作的表;第2参数是需要偏移的行,从0开始,不偏移为0,是数字格式;第3参数是需要返回的行数,是数字格式,默认是返回偏移后的全部行;返回的也是表格格式。
例:
Table.Range(源,0,2)=
Table.Range(源,1)=
Table.Range(源,2,10)=
解释:偏移2行往后取10行,此函数不存在参数超标的情况,所以如果取的行数超过了表格的行数,则取全部返回。
3. 按文本匹配后提取
Table.FindText(table as table,text as text)as table
第1参数是需要操作的表;第2参数为需要查找的文本;返回的也是一个表格式。
例:
Table.FindText(源,"数")=
解释:返回姓名,成绩,学科字段所有含"数"的行。因为此数据源相对简单,所以返回了学科中数学包含"数",所以返回这一行。
Table.FindText(Table.TransformColumnTypes(源,{"成绩", type text}),Text.From(80))=
解释:因为成绩字段是数字格式,如果需要查找成绩,则需要转成文本格式,Table.TransformColumnTypes把成绩的列转换成文本后,然后通过Text.From把数字80也转换成文本格式,这样就能进行匹配。
案例参考:如何全局匹配关键词查找