如何将拆分公式从 Excel 转换为 Sheets(假设缺少 Textsplit)
我试图将以下 Excel 工作表的功能复制到 Google 表格中,但遇到了问题。
https://1drv.ms/x/s!ApTGA-odt1HWhzGjuVHPn9bJyr5G?e=ZxtUCi
它将 A2 中的列表切分为 c3 中请求的组数,并将它们随机显示在组列中。(是的,我想在对工作表进行更改时重新计算)
问题是以下公式使用了许多 Google 表格没有的功能有。
=LET(group_count,C2,input_names_as_rows,TRIM(TEXTSPLIT(A2,,",")),how_many_names,ROWS(input_names_as_rows),random_names_as_rows,SORTBY(input_names_as_rows,RANDARRAY(how_many_names)),rows_per_group_count,CEILING.MATH(how_many_names/group_count,1),BYCOL(MAKEARRAY(rows_per_group_count,group_count,LAMBDA(each_row,each_column,IFERROR(INDEX(random_names_as_rows,(each_row-1)*group_count+each_column,1),""))),LAMBDA(each_col,TEXTJOIN(", ",FALSE,each_col)))) 尝试使用公式时出现错误
错误未知函数:'TEXTSPLIT' 我尝试使用拆分 (SPLIT(A2,","),没有返回任何值,但也没有错误。
我无法使用 Excel 来完成我需要做的事情,并且需要将最终结果保持在两行之内,除此之外,如果有其他方法,我宁愿不使用应用程序脚本,并且我需要它在工作表中的值发生变化时重新计算。
我包含了这两个电子表格,并希望任何人能够提供帮助来解决这个问题。
https://docs.google.com/spreadsheets/d/16IRhfR7OkaoeTc5k7LJGysmndE1zQtfz22VSlMDUaFs/edit?usp=sharing
问题不在于 SPLIT 本身
Google Sheets 中的 SPLIT 将字符串分为列而不是行,因此您应该将其更改为
TRANSPOSE(SPLIT(A2,","))
此外,Sheets 中没有 SORTBY,但有 SORT。并且 SORT 需要每列的第二个参数来表示它是升序还是降序。因此,在 RANDARRAY 之后,您应该添加 1(或 0,由于它是随机的,因此无法区分它是升序还是降序)。
=LET(
group_count, C2,
input_names_as_rows, TRANSPOSE(SPLIT(A2, ",")),
how_many_names, ROWS(input_names_as_rows),
random_names_as_rows, SORT(input_names_as_rows, RANDARRAY(how_many_names),1),
rows_per_group_count, CEILING.MATH(how_many_names / group_count, 1),
BYCOL(
MAKEARRAY(rows_per_group_count, group_count, LAMBDA(each_row, each_column, IFERROR(INDEX(random_names_as_rows, (each_row - 1) * group_count + each_column, 1), ""))),
LAMBDA(each_col, TEXTJOIN(", ", FALSE, each_col))
)
)