如果其他工作簿closures,公式不会更新

我有下面的公式,它引用另一个工作簿在同一个文件夹,但是当文件打开它只是工作正常,问题是当另一个Excel文件被closures,因为公式不会得到更新

另一个工作簿打开时的公式

=IFERROR(COUNTIFS(Auto_Zero.xlsx!MonthDB,B6,Auto_Zero.xlsx!CSRDB,C2),"") 

另一个文件closures时的公式

 =IFERROR(COUNTIFS('C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!MonthDB,B6,'C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!CSRDB,C2),"") 

我已经尝试了很多不同的build议和公式不启动时,其他文件closures:(

像COUNTIFS和SUMIFS Excel函数不引用closures工作簿时重新计算。 您可以尝试使用像ADO代码一样工作的Excel查询devise器。 允许从封闭的书籍,数据库等检索希望这会有所帮助。

在不使用高级工具的情况下,最简单的方法是使用下面的代码打开文件,进行计算并closures文件。 不知道这是否有帮助。 请将“H:\ My Documents \ 4674576.xlsx”更改为您的源文件path。 将此代码粘贴到您的Excel工作簿的新模块中。 运行代码,看看是否有帮助。

Sub loadfileandCalc() Dim acWb As Workbook Dim wb As Workbook Set wb = Workbooks.Open(Filename:="H:\My Documents\4674576.xlsx", UpdateLinks:=False, ReadOnly:=True) Set acWb = ActiveWorkbook ActiveSheet.Calculate Set acWb = Nothing wb.Close False Set wb = Nothing

结束小组

与已closures的工作簿关联的公式的replace公式:

链接到已closures的工作簿时,如COUNTIFSUMIFCOUNTIFSSUMIFS等公式不会更新其结果。

下面的列表显示了与closures的工作簿的链接一起使用的replace公式。 它显示了实际公式的语法及其replace以便于翻译。

 =COUNTIF( range, criteria ) =SUM(( range = criteria ) * 1 ) '*Entered as Formula Array* =SUMIF( range, criteria, sum_range ) =SUMPRODUCT(( range = criteria ) * 1, sum_range ) =COUNTIFS( criteria_range1, criteria1, [criteria_range2], [criteria2], ...) =SUM(( criteria_range1 = criteria1 ) * ( [criteria_range2] = [criteria2] ), ...) '*Entered as Formula Array* =SUMIFS( sum_range, criteria_range1, criteria1, [criteria_range2], [criteria2], ...) =SUMPRODUCT( sum_range, (criteria_range1 = criteria1 ) * ([criteria_range2] = [criteria2]) * ...) 

公式数组同时按下 [Ctrl] + [Shift] + [Enter] 如果input正确 ,您将 在公式周围 看到 { }

所以一个简单的公式会是这样的:

=SUM((Auto_Zero.xlsx!MonthDB=B6)*(Auto_Zero.xlsx!CSRDB=C2))

使用Ctrl-Shift-Enterinput公式。 使用此组合键时,大括号应该在配方栏中神奇地出现。