【问题标题】:Is there a way to SUMIFS based on a output range condition?有没有一种基于输出范围条件的 SUMIFS 方法?
【发布时间】:2020-03-27 15:49:10
【问题描述】:

实际示例是:我需要总结公司内特定角色(工程师等)每周工作的总时间。 我需要的是仅当左侧的名称具有特定作用时才对一列值求和。我可以将该角色放在名称旁边的一列中,但由于我想保留员工晋升的历史记录,因此该角色是基于类似的周表。

接下来,我们可以看到第一个选项卡(包含要求和的名称和列)和第二个选项卡(包含名称和角色。

第一个标签:员工每周的工作量 workload for employees per week

第二个标签:每周每位员工的角色 roles per employee per week

第三个标签:插入结果的地方 Place to insert the result

因此,例如,我想sumif 'Socio' 人的第一周:30

我尝试了sumif 内部有filterqueryvlookup,但我无法使用工作功能。

有什么建议吗??

【问题讨论】:

  • 我不知道所有其他方法,但在 Excel 中,数组公式非常简单:将 =SUM(Time!H2:L5*(Time!H1:L1=DATE(2019,6,24))*(Roles!H2:L5="Eng 1.")) 放入单元格中,然后按 Control-Shift-Enter。然后公式将显示大括号,如 {=SUM(Time!H2:L5*(Time!H1:L1=DATE(2019,6,24))*(Roles!H2:L5="Eng 1."))} 如果您只是在数组公式上按 Enter,则计算值将显示 #VALUE!
  • 你用的是google sheet还是excel?

标签: google-sheets filter match google-sheets-formula google-sheets-query


【解决方案1】:

在 Google 表格上:

假设您的第二个标签名为Roles,您将以下公式放入第一个标签中:

=QUERY({'Roles'!G1:H5,G1:H5},"select Col2, SUM(Col5) group by Col2 label Col2 'Role', SUM(Col5) 'Totals'")

您可以扩展它以使用更多列(周)

【讨论】:

  • 由于我无法发布答案,我已经编辑了问题。
【解决方案2】:

尝试:

=SUM(FILTER(INDIRECT(
 ADDRESS(3,         MATCH(J2, A$2:E$2, 0), 4)&":"&
 ADDRESS(ROWS(A:A), MATCH(J2, A$2:E$2, 0), 4)), INDIRECT(
 ADDRESS(3,         MATCH(J2, F$2:I$2, 0)+5, 4)&":"&
 ADDRESS(ROWS(A:A), MATCH(J2, F$2:I$2, 0)+5, 4))=K2))

spreadsheet demo

【讨论】:

  • 因为我无法发布答案,所以我已经编辑了这个问题。感谢您的帮助
  • 你能分享一份你的工作表吗?
  • 当然:docs.google.com/spreadsheets/d/… ----- Tab1 -> Alocação pessoas/projetos; ---- ----- Tab2 -> Horas/Pessoas(“货物”部分)----- Tab3 -> Consolidação de dados(“Capacidade Produtiva”部分)
猜你喜欢
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 2013-12-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 2011-07-21
相关资源
最近更新 更多