这个分组方式太经典了

Number.From(List.Contains({1,2,6,6,15},y))”],[20,”\n”,”24:\”1wjY\”|36:0″],[ 20,” )”],[20,”\n”,”24:\”b2dc\”|36:0″],[20,”在”],[20,”\n”,”24:\ “4MuX\”|36:0″],[20,”组”],[20,”\n”,”24:\”CLh2\”|36:0″],[20,”\n”, “24:\”08UW\””],[20,”这个问题是一个关于创建自定义组的非常经典的问题。 巧妙利用Table.Group函数第四个参数为0时局部分组的特性,然后利用第五个参数设置第二个参数的判断条件,完成分组。 “],[20,”\n”,”24:\”C46C\””],[20,”\n”,”24:\”B3hc\””],[20,”使用的 List.Transform 函数、List、Distinct 函数、Numbwer.From 函数、List.Contains 函数和 List.Combine 函数。 “],[20,”\n”,”24:\”Gz00\””],[20,”\n”,”24:\”plS1\””],[20,”关于这些函数 简单函数主要有:”],[20,”\n”,”24:\”sot9\””],[20,”List.Transform函数主要用于列表转换;”],[20,” \n”,”24:\”ipbk\””],[20,”List.Distinct用于对list列表中的元素进行去重;”],[20,”\n”,” 24:\”ujCi \””],[20,”List.Contains函数是判断一个基本列表是否包含另一个列表中的元素;”],[20,”\n”,”24:\” FDnZ\””],[ 20、“List.Combine是组合列表。 “],[20,”\n”,”24:\”QFS7\””]]”>

经典分组解题_qq经典分组百科_QQ经典分组

数据来源如下图所示。

QQ经典分组_qq经典分组百科_经典分组解题

分组结果如下:

QQ经典分组_qq经典分组百科_经典分组解题

对于这个分组问题,可以使用Table.Group函数的第五个参数。

所以M公式可以写成:

let    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],    分组 = Table.Group(源,                         "num",                         {                            "n",                            each                            Text.Combine(                                List.Transform(                                    List.Distinct({_[num]{0},List.Last(_[num])}),                                    Text.From),"-")                         },                         0,                         (x,y)=>Number.From(List.Contains( {1,2,6,6,15},y))                        )in    分组

这个问题是一个关于创建自定义组的非常经典的问题。 巧妙利用Table.Group函数第四个参数为0时局部分组的特性,然后利用第五个参数设置第二个参数的判断条件,完成分组。

qq经典分组百科_经典分组解题_QQ经典分组

使用List.Transform函数、List,Distinct函数、Numbwer.From函数、List.Contains函数和List.Combine函数。

这些函数的简单作用主要是:

List.Transform函数主要用于列表转换;

List.Distinct用于对列表中的重复元素进行去重;

List.Contains 函数主要确定一个列表是否包含另一个列表中的元素;

List.Combine 合并列表。