Excel 如果关闭了其他工作簿,则公式不会更新

Excel 如果关闭了其他工作簿,则公式不会更新,excel,excel-formula,Excel,Excel Formula,我有下面的公式,它引用了同一文件夹中的另一个工作簿,但当文件打开时,它工作正常,问题是当另一个excel文件关闭时,因为公式不会更新 打开其他工作簿时的公式 =IFERROR(COUNTIFS(Auto_Zero.xlsx!MonthDB,B6,Auto_Zero.xlsx!CSRDB,C2),"") 关闭另一个文件时的公式 =IFERROR(COUNTIFS('C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!MonthDB,B6,'C:\

我有下面的公式,它引用了同一文件夹中的另一个工作簿,但当文件打开时,它工作正常,问题是当另一个excel文件关闭时,因为公式不会更新

打开其他工作簿时的公式

=IFERROR(COUNTIFS(Auto_Zero.xlsx!MonthDB,B6,Auto_Zero.xlsx!CSRDB,C2),"")
关闭另一个文件时的公式

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

我尝试了许多不同的建议,但当另一个文件关闭时,公式不起作用:(

Excel函数(如COUNTIFS和SUMIFS)在引用关闭的工作簿时不会重新计算。您可以尝试使用Excel查询设计器,其工作方式类似于ADO代码。允许从关闭的书籍、数据库等进行检索。 希望这有帮助

不使用高级工具实现此目的的最简单方法是使用下面的代码打开文件,进行计算并关闭文件。不确定是否有此帮助。请将“H:\My Documents\4674576.xlsx”更改为源文件路径。将此代码粘贴到excel工作簿的新模块中。运行代码并查看是否有帮助


子加载文件和计算()
将acWb作为工作簿
将wb设置为工作簿
设置wb=Workbooks.Open(文件名:=“H:\My Documents\4674576.xlsx”,UpdateLinks:=False,ReadOnly:=True)
设置acWb=ActiveWorkbook
活动表。计算
设置acWb=无
wb.关闭错误
设置wb=Nothing

端接头

引用关闭的工作簿时,COUNTIFS和SUMIFS等Excel函数不会重新计算。您可以尝试使用Excel查询设计器,其工作方式类似于ADO代码。允许从关闭的工作簿、数据库等中检索。 希望这有帮助

不使用高级工具实现此目的的最简单方法是使用下面的代码打开文件,进行计算并关闭文件。不确定是否有此帮助。请将“H:\My Documents\4674576.xlsx”更改为源文件路径。将此代码粘贴到excel工作簿的新模块中。运行代码并查看是否有帮助


子加载文件和计算()
将acWb作为工作簿
将wb设置为工作簿
设置wb=Workbooks.Open(文件名:=“H:\My Documents\4674576.xlsx”,UpdateLinks:=False,ReadOnly:=True)
设置acWb=ActiveWorkbook
活动表。计算
设置acWb=无
wb.关闭错误
设置wb=Nothing

端接头

所以一个简单的公式如下:

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


使用Ctrl-Shift-Enter键输入公式。使用此组合键时,公式栏中会神奇地出现花括号。

因此,简单的公式如下所示:

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


使用Ctrl-Shift-Enter键输入公式。使用此组合键时,公式栏中会神奇地出现花括号。

链接到已关闭工作簿的公式的替换公式:

链接到关闭的工作簿时,诸如
COUNTIF
SUMIF
COUNTIFS
SUMIFS
之类的公式不会更新其结果

下表列出了使用已关闭工作簿链接的替换公式。它显示了实际公式的语法及其替换,以便于翻译

=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]
同时输入公式数组,如果输入正确,您将在公式周围看到
{
}
,替换链接到已关闭工作簿的公式:

链接到关闭的工作簿时,诸如
COUNTIF
SUMIF
COUNTIFS
SUMIFS
之类的公式不会更新其结果

下表列出了使用已关闭工作簿链接的替换公式。它显示了实际公式的语法及其替换,以便于翻译

=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]
同时输入公式数组,您将看到
{
}
如果输入正确,公式周围的内容

如果在打开外部工作簿并关闭它的情况下创建公式,Excel应该提供正确的语法。我已经尝试过了,当我关闭另一个工作簿并按F2键和enter键以确保它工作时,它不会工作。我不知道我还需要做什么在任何情况下,都会出现问题使用countifs和关闭的工作簿。使用带有数组设置的IF公式:如果在打开外部工作簿并关闭它的情况下创建公式,Excel应该提供正确的语法。我已经尝试过了,当我关闭其他工作簿并按F2和enter键以确保它工作时,它不会工作。我不知道在任何情况下还需要做什么,countifs和已关闭的工作簿存在问题。在数组设置中使用IF公式:我不知道如何使用Excel查询设计器,我将使用的大多数公式是countif:(谢谢,你真了不起。我留下了公式:=IFERROR(IF(ISBLANK)(Table1[CSR Name]),“”,countifs('C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!MonthDB,$B$6,'C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!CSRDB,表1[CSR Name]),“”)…我复制了您的vba代码并更改了路径。我添加了一个与宏链接的按钮:)只要我得到信息,我不介意点击按钮:我不知道如何使用Excel查询设计器,我将使用的大多数公式是countif:(谢谢,你真了不起。我留下了公式:=IFERROR(IF(ISBLANK)(Table1[CSR Name]),“”,COUNTIFS('C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!MonthDB,$B$6,'C:\Users\csamayoa\Desktop\QA Test\Auto_Zero.xlsx'!CSRDB,Tab