Google Spreadsheets - 如果数据存在于范围内并与其他工作表匹配则求和

时间:2013-06-27 20:29:13

标签: google-sheets spreadsheet

我在Google电子表格中的数据组织如下。

Sheet 1中:

Label     Type
foo       B
bar       A
baz       _(empty cell)
qux       B

totalX    quantity
totalY    quantity

Sheet 2中:

Type    X      Y
A       2      5
B       1      3
C       3      4

我想要'数量'在Sheet1中汇总Sheet2中与类型相关的值。在该示例中,totalX将是4(1 + 2 + 1,或Bx + Ax + Bx),并且totalY将是11(3 + 5 + 3,或者By + Ay + By)。

从概念上讲,totalX中的公式可以查看' Type'中的每个单元格。 Sheet1上的列,如果该单元格不为空,则在Sheet2上找到值并将其添加到总计。在使用SUMIF和各种公式后,我无法弄清楚如何做到最好。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

通过http://igoogledrive.blogspot.com/2013/07/google-spreadsheet-advanced-vlookup-and.html

要计算 totalX ,如果'标签'和'类型'在各自的表格中为A列:

 =sum(iferror(arrayformula(if(B2:B="";"";iferror(if(match(B2:B;'Sheet2'!A2:A4;0);vlookup(B2:B;'Sheet2'!A1:C4;{2}*sign(row(B2:B));false)))))))

计算 totalY

 =sum(iferror(arrayformula(if(B2:B="";"";iferror(if(match(B2:B;'Sheet2'!A2:A4;0);vlookup(B2:B;'Sheet2'!A1:C4;{3}*sign(row(B2:B));false)))))))

使用ISERRORIFERROR忽略空单元格和未找到的单元格。 VLOOKUP获取实际值; {x}*sign引用了Sheet2中的相应列。