执行查找以从另一列中查找值,并使用Google表格对其进行汇总

时间:2019-08-29 16:24:25

标签: google-sheets google-sheets-formula google-sheets-query google-query-language

以下示例数据。

我希望能够对每次出现的Col 1的Col2中的值求和,具体取决于“ Other Cols”中的值与Col1中的值结合应用

Col1------Col2-----Other Cols  
A---------40-------other data  
A-------------------other data  
A-------------------other data  
B---------30-------other data  
B-------------------other data  
C-------------------other data  
C-------------------other data  
C---------90-------other data  

例如,“其他数据”中的值可能意味着其中不包含Col1 = B的值,因此正确的结果是130(40 + 90)

如果可能的话,我希望能够在单个查询中实现以上目标。

在现实生活的数据中,有超过2,000行数据和Col1的大约200个不同值(每天都在增加!!)

我自己能做什么!

1)我创建了一个查询,该查询根据适用于“其他数据”的选择标准(即

)为每个有效出现的Col1输出一行
A  
C

2)从逻辑上讲,我下一步要执行的操作是,但由于我不知道该怎么做,所以无法执行操作,是回头查看原始数据以找出A和C值的Col B值(即40和90)

3)然后,我希望能够求和确定的值(即40 + 90),以便在单个查询/单元格中返回答案130 !!!

能够实现步骤(2)将非常有用?

做(2)+(3)会很完美!

(注意,Col2的值对于Col1的每组值都是唯一的)

1 个答案:

答案 0 :(得分:0)

=SUM(IFERROR(QUERY(A2:C, 
 "select sum(B) 
  where C = 'yes' 
  group by A 
  label sum(B)''", 0)))

0


=ARRAYFORMULA(SUM(QUERY(UNIQUE({A2:A, 
 IF(C2:C="",, VLOOKUP(ROW(B2:B), IF(
 QUERY(A2:C, "select B order by A desc,B desc", 0)<>"", {ROW(B2:B),
 QUERY(A2:C, "select B order by A desc,B desc", 0)}), 2)), C2:C}), 
 "select sum(Col2) where Col3='yes' group by Col1 label sum(Col2)''", 0)))

0