我有一个Excel公式,该公式使用GETPIVOTDATA
从另一个文件透视图中获取值。
该公式在其他4个文件中引用了5个位置,每个月都会更新一次,并将它们总计到主文件中。
我已打开文件以执行此操作。
我遇到的问题是,我必须每月手动更新公式中的文件名,以使它们查看最新文件。
我必须手动更新的当前公式:
=GETPIVOTDATA("Add YTD ",'[FileA P6 2018.xlsm]Monthly report'!$A$5)
+GETPIVOTDATA("Add YTD ",'[FileA P6 2018.xlsm]Monthly sub report'!$A$39)
+GETPIVOTDATA("Add YTD ",'[FileB P6 2018.xlsm]Monthly pivot'!$A$3)
+GETPIVOTDATA("Add YTD ",'[FileC P6 2018.xlsm]Monthly report'!$A$5)
+GETPIVOTDATA("Add YTD ",'[FileD P6 2018.xlsm]Monthly pivot'!$A$3)
下个月,文件名将P6
更改为P7
。
我有两个要在变量中使用的值的单元格:
B4 = 6
B5 = 2018
我尝试了以下操作均无济于事:
=GETPIVOTDATA("Add YTD ",'[FileA P$B$4 $B$5.xlsm]Monthly report'!$A$5)
+GETPIVOTDATA("Add YTD ",'[FileA P$B$4 $B$5.xlsm]Monthly sub report'!$A$39)
+GETPIVOTDATA("Add YTD ",'[FileB P$B$4 $B$5.xlsm]Monthly pivot'!$A$3)
+GETPIVOTDATA("Add YTD ",'[FileC P$B$4 $B$5.xlsm]Monthly report'!$A$5)
+GETPIVOTDATA("Add YTD ",'[FileD P$B$4 $B$5.xlsm]Monthly pivot'!$A$3)
答案 0 :(得分:1)
我认为您将需要INDIRECT公式,该公式使您能够使用变量来建立引用。例如,下面的内容使您可以访问工作簿中的单元格E12
=INDIRECT("[FileA"&B4&B5&".xlsm]Sheet1!$E$12")
我不是100%不确定要如何结合使用GETPIVOTDATA-我认为您可以将GETPIVOTDATA调用放在INDIRECT调用中,但是在转义“ ... ...
时必须小心答案 1 :(得分:0)
这已通过VBA
解决,并同时设置了单元格B4
和B5
:
B4 = P5 2017
B5 = P6 2018
VBA:
Sub FileNameUpdate()
Cells.Replace What:=Range("B4") & ".xlsm", Replacement:=Range("B5") & ".xlsm", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End Sub