(四) 根據(jù)條件提取數(shù)據(jù)
1. 根據(jù)條件從列表中進行提取
List.Select(list as list, selection as function) as list
第二個是一個函數(shù)公式魏保,返回的是也是一個列表挡闰。
例:
List.Select({1}, each _ =1)={1}
注意:返回的是列表格式亮垫,而不是值
List.Select({1..10}, each Number.Mod(_,6)<3)={1,2,6,7,8}
List.Select({"a".."z",null,true},each _<>null)={"a".."z",true}
2. 跳過指定數(shù)據(jù)提取
List.Skip(list as list, optional countOrCondition as any) as any
如果第2參數(shù)省略威鹿,則默認跳過第一個值斋配;如果第2參數(shù)為數(shù)值,則跳過指定列表排在前面的值;如果第2參數(shù)為條件,則返回滿足條件的第一個元素開頭沥邻,如果第一個條件就不滿足,怎不跳過羊娃。
例:
List.Skip({1..10})={2..10}
List.Skip({1..10},7)={8,9,10}
List.Skip({1..10}, each _<5)={5..10}
List.Skip({1..10}, each _>5)={1..10}
解釋:第1個數(shù)據(jù)為1唐全,不滿足>5,則不跳過
List.Skip({1..10,1}, each _<5)={5..10,1}
解釋:第1個不滿足的數(shù)值是5,所以跳過5之前的數(shù)值蕊玷。
3. 根據(jù)區(qū)間來提取
List.Range(list as list, offset as number, optional count as nullable number) as list
第2參數(shù)為偏移量邮利,為必選項,從0開始垃帅;第3參數(shù)為偏移后的位數(shù)延届,返回的是list格式。
List.Range({1..10})={1..10}
List.Range({1..10},5)={6..10}
List.Range({1..10},0,1)={1}
List.Range({1..10},3,4)={4..7}
4. 根據(jù)包含文本來提取
List.FindText(list as list, text as text) as list
第1參數(shù)為列表贸诚,第2參數(shù)為文本格式方庭,返回的是列表格式。
例:
List.FindText({"a".."z"},"b")={"b"}
List.FindText({"abc","a","ab","ac","bc"},"ab")={"abc","ab"}
List.FindText({"abc","a","ab","ac","bc"},Text.Start("abc",2))={"abc","ab"}