SUMIF函数跨文件取数时,只有在两个文件都打开的情况下进行,一旦关闭源文件,取数报错,有人知道怎么解决

一直用SUMIF函数都是表中或同一工作簿跨表取数,没任何问题。今天偶尔碰到需要跨文件取数,在BOOK1输入公式如下:=SUMIF('C:\Documents and Settings\Administrator\桌面\[BOOK2.xls]SHEET1'!$C:$C,"ABC",'C:\Documents and Settings\Administrator\桌面\[BOOK2.xls]SHEET1'!$H:$H)
因为在设定公式时候XXXX表是打开的,处于活动状态,当时公式是如下显示的:=SUMIF([BOOK2.xls]SHEET1!$C:$C,"ABC",[BOOK2.xls]SHEET1!$H:$H)
能正常计算,无异常。但当BOOK1和BOOK2正常保存退出而后,重新打开BOOK1,就会显示#VALUE!,而此时如果马上打开BOOK2,单元格又能正常显示数值,十分疑惑

公式没有问题,有可能是运算速度造成的。关键是book2中数据量大不大,如果大,建议你将$c:$c、$H:$H修改为实际数据区域,这样可以减少运算量,提高运算速度。如$C$1:$c$100追问

不是这个原因,我改为后一种引用还是不行,谢谢

追答

不打开工作薄,必须使用绝对路径引用,即必须带完整路径。你前面公式是对的。
实在不行,将公式修改一下
=SUMPRODUCT(('C:\Documents and Settings\Administrator\桌面\[BOOK2.xls]SHEET1'!$C:$C="ABC")*('C:\Documents and Settings\Administrator\桌面\[BOOK2.xls]SHEET1'!$H:$H))

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-22
提示更新

SUMIF函数跨文件取数时,只有在两个文件都打开的情况下进行,一旦关闭源...
公式没有问题,有可能是运算速度造成的。关键是book2中数据量大不大,如果大,建议你将$c:$c、$H:$H修改为实际数据区域,这样可以减少运算量,提高运算速度。如$C$1:$c$100

SUMIF函数可以跨文件使用吗,跨两个excel文件引用?
可以的,只要两个文件的扩展名相同,不会出现区域不足的问题

在excel表格中使用用SUMIF引用不同文件中的数据后,关掉外部表格后就显...
要引用外部表格数据,外部表格必须处于打开状态,否则引用无效的

用EXCEL中的SUMIF函数制作了一个汇总表,收入和发出列是从其他的文档取...
用公式引用其它工作簿数据,必须保证数据源是打开的。统计后,可选中公式区域,复制,原位置右击鼠标,选择性粘贴,选“数值”,确定。(将公式存为最终结果。)

在EXCEL里的SUMIF函数,可以同时设置两个或多个条件吗?该怎么设?_百度...
在Excel中,SUMIF函数的局限性在于它只能处理单个条件。但如果你需要同时满足多个条件,你需要转向SUMIFS函数。以下是具体步骤:首先,打开Excel并定位到你的数据源,要计算的是销售额。基本的求和可以通过使用SUM函数,如“=SUM(销售额区域)”来实现。然而,当涉及到多个条件时,SUMIF的单一条件功能就显得...

在两个EXCEL表中用SUMIF函数 关闭底表 另一个表就出现乱码怎么回事...
我也有一样的问题 选择性粘贴那还叫公式了吗 你直接把背引用的表格打开 数据就可以更新了 sumif 好像不能更新关闭的excel 你用{=sum(if(范围区域=条件单元格,1,0)}

windows7调用函数sumif时,是两个不同的表格怎么调用
windows7调用函数sumif时,是两个不同的表格的话我们要把数据联合起来的话就要放在同一个文件中按中ctrl键然后选中的数据就好了

excel2007中sumif函数不是可以引用跨工作薄数据吗,
=SUMIF([表1.xlsx]Sheet1!$A$1:$A$8,"你",[表1.xlsx]Sheet1!$B$1:$B$8)是可以阿,第一次引用 的时候把你所引用 的那个打开通过鼠标选择引用范围就可以了,输入完效果如上 如果引用的那个表关了的话就会出错

如何在EXCEL中同个文件夹下不同表获取某字段下的数值再相加
在Excel中,若需在同一个文件夹下不同表格中获取特定字段数值并相加,可采用相对引用或绝对引用的方法。以将Sheet2的B2单元格数值调用至当前Sheet中为例,公式应写为:=Sheet2!B2。为了实现对不同表格中特定字段数值的相加,可以使用Excel的SUMIF函数。SUMIF函数用于根据指定条件对某一范围内的单元格...

excel sumif引用另外一个文件的工作表内容,工作表名可变。怎么做_百度...
使用INDIRECT函数表示,公式如下:=SUMIF(INDIRECT("[2单词数据细分.xlsx]"&A15&"!$A$1:$A$99"),$A$2-1 ,INDIRECT("[2单词数据细分.xlsx]"&A15&"!$O$1:$O$99"))

相似回答