【问题标题】:Excel 2016: Refer to last worksheet in a formulaExcel 2016:参考公式中的最后一个工作表
【发布时间】:2018-09-14 09:58:11
【问题描述】:

所以,我这里有这个公式(有效)

=SUM(SUMIF('Inventory 11.09.2018'!$B$2:$B$47;B2;'Inventory 11.09.2018'!$C$2:$C$47);SUMIF($H:$H;B2;$I:$I))

我想实现,而不是实际的工作表名称(库存 11.09.2018),公式始终引用表格的最后一个工作表。每次完成库存时,都会将工作表添加到表格中。

我做了一些研究,发现了这个解决方案:How do I get my formula to always reference to the last sheet?

我对这个解决方案所做的是定义两个范围名称。

wshNames

=RIGHT(GET.WORKBOOK(1),LEN(GET.WORKBOOK(1))-FIND("]",GET.WORKBOOK(1)))

wshNameLast

=INDEX(wshNames,COUNTA(wshNames)+RAND()*0)

然后我开始将我的公式更改为:

=SUM(SUMIF(wshNameLast&"!$B$2:$B$47";B2;wshNameLast&"!$C$2:$C$47");SUMIF($H:$H;B2;$I:$I))

但是当点击返回时它会抛出这个错误信息: Excel_error_in_formula

因为这是德语,所以基本上是这样写的:

这个公式有问题。

您不想输入公式?

然后解释公式前撇号的作用。

如果我只在公式中使用定义的名称,例如

=wshNameLast

他们工作。如果我像这样删除公式周围的“SUM”,只是为了测试它是否可以在没有“SUM”的情况下工作

SUMIF('Inventory 11.09.2018'!$B$2:$B$47;B2;'Inventory 11.09.2018'!$C$2:$C$47)

它也不起作用。所以我认为定义的范围名称与我想使用的公式结合起来有问题。

问题是:我做错了什么,我该如何开始工作?另外,如果可能的话,我想在没有 VB/VBA 的情况下解决这个问题。

【问题讨论】:

    标签: excel excel-formula named-ranges


    【解决方案1】:

    您应该使用 INDIRECT 函数将字符串 wshNameLast&"!$B$2:$B$47" 转换为范围。喜欢这个INDIRECT(wshNameLast&"!$B$2:$B$47")

    完整的公式:

    =SUM(SUMIF(INDIRECT(wshNameLast&"!$B$2:$B$47");B2;INDIRECT(wshNameLast&"!$C$2:$C$47"));SUMIF($H:$H;B2;$I:$I))
    

    【讨论】:

    • 感谢您的回答马可!将 INDIRECT 添加到公式中至少不会显示错误消息。不幸的是,这个公式的结果是#REF! (或者#REFERENCE?在德语中它说#BEZUG!)分析计算步骤表明,在Excel完全解决INDIRECT(wshNameLast&"!$B$2:$B$46")之后,这部分变成了#REF!。知道为什么吗?
    • 这意味着wshNameLast&"!$B$2:$B$46" 不是有效的范围引用。 =wshNameLast 是否返回现有的工作表名称?当我在答案中测试公式时,它不会出错。
    • wshNameLast 返回一个现有的工作表名称,它始终是最后一个工作表。我注意到,如果我添加一个新的空工作表作为最后一个工作表,则不再有错误。 IE。我有工作表“Stock”、“Inventory 11.09.2018”和“Sheet1”。用“Sheet”切换“Inventory”会再次导致错误。我只是看不出工作表“Inventory 11.09.2018”有什么问题。它没有什么特别之处。甚至不包括公式!我想我会一步一步地重建整个东西,看看它是否有效。
    • 好的,这是一个很快的。只需将该库存工作表的内容复制并粘贴到新的工作表中即可解决。 但是重命名新工作表会导致错误。结果发现工作表名称中的空格会导致错误!猜猜我会简单地使用下划线。非常感谢@Marco Vos 的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 2016-09-20
    • 2019-05-30
    相关资源
    最近更新 更多