替换多个SUMIF()获得唯一性

时间:2019-03-24 20:20:49

标签: google-sheets google-sheets-formula

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

beforeinstallprompt

我找到具有以下公式的唯一客户:

// 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) 公式。我必须手动执行此操作,因为Google Spreadsheet不够聪明,无法仅将SUMIF()替换为W14W15等。

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

电子表格在这里:Spreadsheet

1 个答案:

答案 0 :(得分:1)

=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