Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 将动态范围随机分成相等的组_Google Sheets_Google Sheets Formula - Fatal编程技术网

Google sheets 将动态范围随机分成相等的组

Google sheets 将动态范围随机分成相等的组,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我有一个动态的值范围,我想把它分成N个组,其中N由用户指定 我想做以下工作: 将组分成N个相等的部分 指定范围内的哪些要在单独的组中 让一个“检查者”看看数学是否可行,是否可行(即,一组11人不能分成两组) 下面是一个场景: 我有一个26个值的列表(一个字母数组,a到Z) 我要两组,随机分组 我指定了两个我希望它们分开的值(即字母B和X) 这应该给我两组,13个“组1”的值和13个“组2”的值 “第1组”可以包含类似于(“B”、“N”、“V”、“C”、“T”、……x 13)的内容

我有一个动态的值范围,我想把它分成N个组,其中N由用户指定

我想做以下工作:

  • 将组分成N个相等的部分
  • 指定范围内的哪些要在单独的组中
  • 让一个“检查者”看看数学是否可行,是否可行(即,一组11人不能分成两组)
下面是一个场景:

  • 我有一个26个值的列表(一个字母数组,a到Z)

  • 我要两组,随机分组

  • 我指定了两个我希望它们分开的值(即字母B和X)

这应该给我两组,13个“组1”的值和13个“组2”的值

“第1组”可以包含类似于(“B”、“N”、“V”、“C”、“T”、……x 13)的内容

“第2组”包含(“X”、“A”、“X 13”)

本例中的变量是值的#、要拆分的组的#和要拆分的特定值

编辑:谷歌工作表示例: 试试:

=ARRAYFORMULA(IF(B4<>TRUE,,TRANSPOSE(SPLIT(FLATTEN(QUERY(QUERY(QUERY({
 ROUNDUP(SEQUENCE(COUNTA(B7:B))/(COUNTA(B7:B)/B2)), 
 SORT({RANDARRAY(COUNTA(B7:B)), FILTER(B7:B, B7:B<>"")})}, 
 "select max(Col3) group by Col2 pivot Col1"), "offset 1", 0),,9^9)), " "))))
=ARRAYFORMULA(如果为真),转置(拆分)(展平)(查询({
综述(顺序(COUNTA(B7:B))/(COUNTA(B7:B)/B2)),
排序({RANDARRAY(COUNTA(B7:B)),过滤器(B7:B,B7:B“”)}),
“按Col2轴选择最大(Col3)组(Col1”),“偏移量1”,0),,9^9)),“”)


更新:
=ARRAYFORMULA(IFNA)CHAR(96+VLOOKUP(B7:B,{QUERY({B7:B,{,

COUNTIFS(C7:C,C7:C,ROW(C7:C),“与所需的示例共享一份工作表副本result@player0刚刚编辑了我的问题。这是一个很好的开始,但不是我想的那样。1)当我更改奖励(组)时,它应该能够动态更改。2)当我更改游戏ID(值)时,它应该能够动态更改。3)我希望看到一列来标记它们旁边的组中的每个组,而不是将组拆分为不同的列。@averageUsername123
=ARRAYFORMULA(IFNA(CHAR(96+VLOOKUP(B7:B, {QUERY({B7:B, 
 COUNTIFS(C7:C, C7:C, ROW(C7:C), "<="&ROW(C7:C))*C7:C}, "where Col2<>0"); 
 {FILTER(B7:B, C7:C=FALSE, B7:B<>""), QUERY(SORT({RANDARRAY(SEQUENCE(B1-B2)), 
 ROUNDUP(SEQUENCE(B1-B2)/B3), QUERY({
 COUNTIFS(C7:C, C7:C, ROW(C7:C), "<="&ROW(C7:C))*C7:C, B7:B}, 
 "select Col2 where Col1=0 and Col2 is not null")}), "select Col2")}}, 2, 0))))