首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据该行的另一列中的查询对各行的值进行求和?

如何根据该行的另一列中的查询对各行的值进行求和?
EN

Stack Overflow用户
提问于 2020-01-24 08:54:00
回答 2查看 62关注 0票数 0

在下表中,我想在每个{calc}单元格中编写一个查询,该查询将使用name列查找一个值,并根据每个单元格中的百分比对该列求和。

例如,对于month1month2month3等中的每一行,我想根据name查询另一个表,然后汇总结果。

我不太担心数学或查询本身,但更感兴趣的是如何引用查询的索引/迭代来汇总所有行。在SUM操作期间,有没有一种方法可以引用当前被求和的索引/行,并基于该索引/行进行查询?

代码语言:javascript
复制
+----------------------+--------------+--------------+--------------+
|         name         |    month1    |    month2    |   month 3    |
+----------------------+--------------+--------------+--------------+
|                      | {calc-1}     | {calc-2}     | {calc-3}     |
| name1                | 65%          | 100%         | 85%          |
| name2                | 100%         | 100%         | 90%          |
| name3                | 100%         | 100%         | 80%          |
+----------------------+--------------+--------------+--------------+

可以运行公式的示例表。

代码语言:javascript
复制
+-------+--------+
| name  | number |
+-------+--------+
| name1 |     10 |
| name2 |     20 |
| name3 |      5 |
+-------+--------+

{calc-1}的输出将是10的65%,20的100%,5的100%,依此类推。calc-1 = 31.5和我想每个月运行这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-24 14:57:36

如果A3:A5 = A10:A12,则可以在B2中执行此公式

代码语言:javascript
复制
=arrayformula(query(B3:D5*B10:B12,"select Sum(Col1), Sum(Col2), Sum(Col3) label Sum(Col1) '', Sum(Col2) '', Sum(Col3) ''"))

否则,您必须更改为实际范围,因此A3:A5=A10:A12

结果是:

31.5 | 35 | 30.5

票数 0
EN

Stack Overflow用户

发布于 2020-01-25 17:54:00

您可以使用mmult和vlookup:

代码语言:javascript
复制
=arrayformula(mmult(COLUMN(B1:D1)^0,(B3:D5*vlookup(A3:A5,A10:B12,2,0))))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59889096

复制
相关文章

相似问题

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