将多个 SUMIF() 替换为唯一值

Replacing multiple SUMIF()'s for uniques

我有一个包含多个列的电子表格,其中包含 "Customers" 和 "Hours"。我希望找到每个唯一客户,然后计算每个唯一客户的总和。

// 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-公式的情况下计算每个唯一客户的总小时数?

电子表格在这里:Spreadsheet

=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)''")