首页 > 解决方案 > 替换多个 SUMIF() 的唯一值

问题描述

我有一个包含“客户”和“小时”的多列的电子表格。我希望找到每个唯一客户,然后计算每个唯一客户的总和。

// Customer columns
{A3:A; D3:D; G3:G; J3:J; M3:M; P3:P; S3:S}

// Hours columns
{C3:C; F3:F; I3:I; L3:L; O3:O; R3:3; U3:U}

我用这个公式找到了独特的客户:

=sort(filter(unique({A3:A; D3:D; G3:G; J3:J; M3:M; P3:P; S3:S}),NOT(ISBLANK(unique({A3:A; D3:D; G3:G; J3:J; M3:M; P3:P; S3:S})))))

我可以通过使用帮助列来计算唯一客户的时间总和W

=sumif(A3:A,W14,C3:C)
+sumif(D3:D,W14,F3:F)
+sumif(G3:G,W14,I3:I)
+sumif(J3:J,W14,L3:L)
+sumif(M3:M,W14,O3:O)
+sumif(P3:P,W14,R3:R)
+sumif(S3:S,W14,U3:U)

这行得通。但是,我需要SUMIF()为每个唯一客户插入公式。我必须手动执行此操作,因为 Google 电子表格不够聪明,只能W14用替换W15W16依此类推。

如何在不手动修改我的公式的情况下计算每个唯一客户的小时总和SumIf

电子表格在这里:电子表格

标签: google-sheetsgoogle-sheets-formula

解决方案


=QUERY({A3:C; D3:F; G3:I; J3:L; M3:O; P3:R; S3:U}, 
 "select Col1, sum(Col3) 
  where Col1 is not null 
  group by Col1 
  order by sum(Col3) desc
  label sum(Col3)''")

0


推荐阅读