我很难找到如何迫使Google电子表格生成一行符合特定标准的数字。
例如:
我有一列"A“,有50行。现在,我需要用一组数字填充这些行(或单元格,因为它只是一列),这些数字包括:
发生的次数是在我列之外的另一个单元格中手工输入的。修改事件将自动改变A1-A50范围内的数字分布。
数字不必排序,可以随机分配(更好!)
我设想在"A1“中加入一个公式,在下面的50个单元格中生成数字。也许ARRAYFORMULA会起作用的。有人能帮我提个建议吗?
发布于 2020-05-07 21:32:11
这是根据频率列表生成一组数字的一种方法:
=ArrayFormula(vlookup(row(indirect("a1:a"&sum(D:D)))-1,{sumif(row(C:C),"<="&row(C:C),D:D)-D:D,C:C},2))如果你想随机化它们:
=ArrayFormula(sort(vlookup(row(indirect("a1:a"&sum(D:D)))-1,{sumif(row(C:C),"<="&row(C:C),D:D)-D:D,C:C},2),randarray(sum(D:D)),1))

编辑
如果使用Sequence而不是row(),并将Sumif中的条件更改为"<“,我本可以使其更加整洁:
=ArrayFormula(vlookup(sequence(sum(D:D),1,0),{sumif(row(C:C),"<"&row(C:C),D:D),C:C},2))和
=ArrayFormula(sort(vlookup(sequence(sum(D:D),1,0),{sumif(row(C:C),"<"&row(C:C),D:D),C:C},2),randarray(sum(D:D)),1))https://stackoverflow.com/questions/61667586
复制相似问题