我有一个包含多个工作表和大量数据的大型Excel工作簿。每三张纸就是前两套的混合物。我已经设置了以下公式来从每个工作表中提取数据,将它们添加到一起,并将其显示在第三个工作表中:
=SUM(VLOOKUP($A7,'worksheet 1'!$A:$F,2,FALSE)+VLOOKUP($A7,'worksheet 2'!$A:$F,2,FALSE))
除非A列值在其中一个源工作表中,而在另一个源工作表中,否则它将按预期工作。然后,我得到#N / A错误“值不可用。”
我想要做的是,如果第一个工作表中没有列A值,excel会忽略该VLOOKUP请求,只需从第二个工作表中提取数据(反之亦然在#2但不是#1)。
如果VLOOKUP不适合使用,我可以更改它。我有一个用于构建此查询的示例表,这就是他们将它们放在一起的方式。
我不是Excel专家,我从未使用Access,因此我正在学习。任何帮助表示赞赏!
答案 0 :(得分:2)
由于您使用的是数字,因此实际上可以使用多个sumif语句。
我会建议像:
=SUM(SUMIF('worksheet 1'!$A:$A,$A7,'worksheet 1'!$B:$B), SUMIF('worksheet 2'!$A:$A,$A7,'worksheet 2'!$B:$B))
SUMIF更快,不会在整个范围内查找,如果它在A7中找不到值,它将只返回0.
我希望这会有所帮助。
<强>更新强>
简单的例子。假设我们有2张包含总列数,我们希望获得该总单元格的值:
你可以总结2 VLOOKUP
forumale,或者你可以使用SUMIF
如下:
=SUM(SUMIF(Sheet1!$A:$A,$A$7,Sheet1!$B:$B),SUMIF(Sheet2!$A:$A,$A$7,Sheet2!$B:$B))
上面简单地说:在Sheet1中查找$ A:$ A范围内的单元格A7中的值,并返回$ B:$ B范围内同一行中的值,并在sheet2中执行相同操作,然后将它们两者相加。
请注意,SUMIF
实际上会对范围内的所有结果进行求和,因此如果您在Sheet1中有2个总计!$ A:$ A那么它将两者相加。在某种程度上,这与VLOOKUP
将要执行的操作相反:一旦找到包含该值的第一行,它将停止。 SUMIF
不会停止。
上面例子中的预期结果是208,这就是你将得到的结果。