首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用指定的数字填写自动表格及其出现的次数

用指定的数字填写自动表格及其出现的次数
EN

Stack Overflow用户
提问于 2020-05-07 20:55:09
回答 1查看 86关注 0票数 1

我很难找到如何迫使Google电子表格生成一行符合特定标准的数字。

例如:

我有一列"A“,有50行。现在,我需要用一组数字填充这些行(或单元格,因为它只是一列),这些数字包括:

  • "1“- 15发生
  • ”2“- 10发生
  • ”3“- 20发生
  • ”4“-5出现

发生的次数是在我列之外的另一个单元格中手工输入的。修改事件将自动改变A1-A50范围内的数字分布。

数字不必排序,可以随机分配(更好!)

我设想在"A1“中加入一个公式,在下面的50个单元格中生成数字。也许ARRAYFORMULA会起作用的。有人能帮我提个建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 21:32:11

这是根据频率列表生成一组数字的一种方法:

代码语言:javascript
复制
=ArrayFormula(vlookup(row(indirect("a1:a"&sum(D:D)))-1,{sumif(row(C:C),"<="&row(C:C),D:D)-D:D,C:C},2))

如果你想随机化它们:

代码语言:javascript
复制
=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中的条件更改为"<“,我本可以使其更加整洁:

代码语言:javascript
复制
=ArrayFormula(vlookup(sequence(sum(D:D),1,0),{sumif(row(C:C),"<"&row(C:C),D:D),C:C},2))

代码语言:javascript
复制
=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))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61667586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档