Excel 公式以特定组合模式返回 4 个值(洋基赌注)

Excel 公式以特定组合模式返回 4 个值(洋基赌注)

我有一个范围,我希望以特定的组合模式返回其值。

在博彩中,这种特殊模式被称为“洋基”。四个事件被排列成以下 11 种组合:

  • 1 四重奏(4 项活动组合)
  • 4 个三重彩(独特的 3 项赛事组合)
  • 6 双打(独特的两项赛事组合)

我如何在 Excel 中创建一个公式来返回这种组合模式?

示例值

A 乙                                                                                                                              
1
2
3
4

 
单一四重包含范围内所有值的组合

A 乙                                                                                                                                                  
1 一二三四
2
3
4

 
高音它们是从该范围中创建的尽可能多的唯一* 3 值组合。
*无论以何种顺序,相同的 3 个值不能一起出现超过一次

A 乙                                                                                                                                                  
1 一二三四
2 一二三
3 一、二、四
4 一、三、四
5 二、三、四

 
最后,六双打它们是从该范围中创建的尽可能多的唯一* 2 值组合。
*无论以何种顺序,相同的两个值不能一起出现超过一次

A 乙                                                                                                                                                  
1 一二三四
2 一二三
3 一、二、四
4 一、三、四
5 二、三、四
6 一二
7 一、三
8 一、四
9 二三
10 二、四
11 三四

答案1

=LET(arr,A1:A4,
     sa,{1;2;3;4},sb,{1;1;1;2;2;3}, sc,{2;3;4;3;4;4},
     four,TEXTJOIN(", ",,arr),
     three,MAP(sa, LAMBDA(a,
       TEXTJOIN(", ",,FILTER(arr,arr<>INDEX(arr,a))))),
     two,MAP(sb,sc, LAMBDA(b,c,
       TEXTJOIN(", ",,INDEX(arr,b),INDEX(arr,c)))),
     VSTACK(four,three,two))

该公式使用函数可以将中间值存储在任意命名的变量中以供以后重用。

该公式使用以下方式连接值文本连接其参数始终delimiter设置为", "ignore_empty留空。在下面的描述中,我仅使用“join(s)”作为简写,并仅text1,[text2],…在必要时描述参数。

“然后它加入ab   相当于   TEXTJOIN(", ",,a,b)

我希望有一个数学公式可以计算每个组的组合。我只是创建了与您为每个组提供的组合相匹配的数字序列。

  1. four(1 x 四倍)是最简单的。它只是将所有 4 个值连接到arr
  2. three(4 x 三重)用途地图sa将4 个数字的序列1,2,3,4逐个传递给拉姆达功能
    • 这些数字加sa在一起代表了指数值的位置arr
    • 拉姆达表示公式中当前映射的值a
    • 对于每个a公式筛选arr通过排除在位置找到的值然后a连接每个结果。
  3. two(6 x 双重)将序列sbsc(每个包含 6 个数字)映射到拉姆达功能
    • sb包含6 个组合arr中每个组合中第一个值的位置two
    • sc包含6 个组合arr中第二个值的位置two
    • 使用bc表示当前映射的值,对于每对bc,公式将在这些位置找到的两个值连接到arr
  4. 堆栈four,three,two返回一个接一个的结果数组。

相关内容