EXCEL:使用 INDIRECT 动态计算工作表
EXCEL: Counting worksheets dynamically using INDIRECT
我遇到过一些关于使用 INDIRECT 和 3D 参考的讨论,但是 none 似乎专门解决(或修复)了这个问题。
我试图在不使用 VBA 的情况下计算作品的位置 sheet。每个 sheet 代表一个月,并有一个标准化的名称(例如 JAN-15、FEB-15、MAR-15 等)。我的想法是通过计算 JAN-15 和当前 sheet 之间的 sheet 的数量来找到位置。每个 sheet 的 A1 = 1,使用 3D 参考在 sheet 中求和。
以二月为例,我可以毫无问题地对其进行硬编码:
=SUM('JAN-15:FEB-15'!A1)
当我这样做时,我得到了 2 的预期结果。但是,我希望每个月的 sheet 动态生成其位置,而不必每次都更改公式。所以我尝试了这个:
名为 FIRSTMONTH ='JAN-15 的单元格
名为 CURRMONTH =RIGHT(CELL("FILENAME",A1),6)
的单元格
N1 =CONCATENATE("'",FIRSTMONTH,":",CURRMONTH,"'!A1")
(N1 正确计算为 'JAN-15:FEB-15'!A1)
当我尝试使用此公式生成位置时:
=SUM(间接(N1))
我得到了#REF!错误。我也试过这个变体:
=SUM(间接("N1"))
其中 returns 0.
有人知道我如何让它工作吗?或者有没有更好的方法不使用 VBA?
-大卫
假设您不会有任何差距,也许可以尝试计算第一个月和当前月份之间的月数,例如
=DATEDIF(FIRSTMONTH,CURRMONTH,"m")+1
我遇到过一些关于使用 INDIRECT 和 3D 参考的讨论,但是 none 似乎专门解决(或修复)了这个问题。
我试图在不使用 VBA 的情况下计算作品的位置 sheet。每个 sheet 代表一个月,并有一个标准化的名称(例如 JAN-15、FEB-15、MAR-15 等)。我的想法是通过计算 JAN-15 和当前 sheet 之间的 sheet 的数量来找到位置。每个 sheet 的 A1 = 1,使用 3D 参考在 sheet 中求和。
以二月为例,我可以毫无问题地对其进行硬编码:
=SUM('JAN-15:FEB-15'!A1)
当我这样做时,我得到了 2 的预期结果。但是,我希望每个月的 sheet 动态生成其位置,而不必每次都更改公式。所以我尝试了这个:
名为 FIRSTMONTH ='JAN-15 的单元格
名为 CURRMONTH =RIGHT(CELL("FILENAME",A1),6)
的单元格
N1 =CONCATENATE("'",FIRSTMONTH,":",CURRMONTH,"'!A1")
(N1 正确计算为 'JAN-15:FEB-15'!A1)
当我尝试使用此公式生成位置时:
=SUM(间接(N1))
我得到了#REF!错误。我也试过这个变体:
=SUM(间接("N1"))
其中 returns 0.
有人知道我如何让它工作吗?或者有没有更好的方法不使用 VBA?
-大卫
假设您不会有任何差距,也许可以尝试计算第一个月和当前月份之间的月数,例如
=DATEDIF(FIRSTMONTH,CURRMONTH,"m")+1