【问题标题】:Automate Spreadsheet Calculation自动化电子表格计算
【发布时间】:2020-12-27 01:22:11
【问题描述】:

我正在尝试构建一个电子表格公式,该公式允许我获取一个数字列表并将它们均匀地分配到另一个数字列表中。下面附上一个例子。

我确信有一种方法可以自动执行此过程,但我在网上进行了广泛的研究,似乎无法找出现有公式的正确组合来完成这项工作,非常感谢任何资源或提示我在正确的方向。目前正在使用 G 表格。

电子表格示例:https://docs.google.com/spreadsheets/d/1JgFKXGJ2-eQEXAGtqu64p_Zw7gY2fVpEtuCFDvMb9YE/edit#gid=1179066278

List 1:
1000
500

List #2:
300
600
200
100
200
100

想要的结果:

列表 1 值 -> 列表 2 值加起来为列表 1 值

1000 -> 300, 600, 100
500 -> 200, 100, 200 

【问题讨论】:

标签: google-sheets formula spreadsheet calculation


【解决方案1】:

试试这个部分解决方案:

=ARRAYFORMULA(TRANSPOSE(QUERY({        FILTER(A:A, A:A<=C3, A:A<>""), MMULT(
 TRANSPOSE((ROW(INDIRECT("B1:B"&COUNTA(FILTER(A:A, A:A<=C3, A:A<>""))))<=
 TRANSPOSE( ROW(INDIRECT("B1:B"&COUNTA(FILTER(A:A, A:A<=C3, A:A<>""))))))*
 FILTER(A:A, A:A<=C3, A:A<>"")),  SIGN(FILTER(A:A, A:A<=C3, A:A<>"")))}, 
 "select Col1 where Col2 <="&C3)))

旁注:它只会给您确切的数字(根据您的要求)或较低的数字(短一个数字)

【讨论】:

  • 嘿!感谢您的答复。这有助于我开始,但我对您的部分解决方案中发生的事情有点迷茫。我了解这些功能本身的作用,但我不确定它们组合在一起时如何工作。抱歉,我在这里问了一个非常广泛的问题,但是你能用外行的话解释一下这是做什么的吗?我假设 TRANSPOSE 与 MMULT 数组的结构方式有关,我看到您正在使用 ROW(INDIRECT()) 来获取 B 列中
  • @gbmytabc 只是在我过滤掉小于 C 列中的值的值之后放置(对于 C2,这些值都是来自没有 A2 的 A 列的所有值)我使用 MMULT 对它们运行总计。然后我将数组 {} 中的运行总计与过滤值合并,并运行一个简单的查询以根据运行总计帮助器列获取过滤后的 A 列的值。对于像 A1:A6 这样的受限范围,这个公式会很容易,但是对于那些 INDIRECT 公式以及 FILTERed 数组,它会变得很复杂。也许这可以帮助更好地可视化正在发生的事情:stackoverflow.com/a/57026166/5632629
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
相关资源
最近更新 更多