通过引用当前工作表的名称来引用另一个工作表中的单元格?

我计划有24张工作簿。 表格名称为:1月,1月,2月,2月等。

基本上这是预算编制,月份名称表具有摘要信息,名称中的“项目”具有更详细的信息。

现在,如果我想让“Jan”电子表格在“Jan item”电子表格中引用单元格J3的单元格,我可以执行以下操作:

='Jan item'!J3

然而,我不希望每个汇总表(1月,2月等)重新input这样的公式,我想有这样的东西:

=(reference-to-this-sheet's-name + " item")!J3

这样,我可以复制1月到2月的公式,它会自动查看正确的Xxx item表,而不必显式键入Feb item

我问这个的原因是因为,对于每个汇总表,在相应的分项表单中会有几十个这样的对单元格的引用。

我问的是可以做的吗?

仍然使用间接。 假设你的A1单元格是你的variables,它将包含被引用的表单的名字(Jan)。 如果你经过:

=INDIRECT(CONCATENATE("'",A1," Item'", "!J3"))

那么你会得到'Jan Item'!J3的值。

除非你想要使用VBApath来计算Tab名称,否则基于Mid函数等等,Excel公式是非常难看的。但是如果你想这样做,这两个方法都可以在这里find。

相反,我会这样做的方式是:

1)在您的工作表上创build一个单元格,例如Reference_Sheet ,并在该单元格中input值“Jan Item”。

2)现在,使用如下的Indirect函数:

 =INDIRECT(Reference_Sheet&"!J3") 

3)现在,对于每个月的工作表,你只需要改变一个Reference_Sheet单元格。

希望这给你你想要的东西!

以下是我如何以与费尔南多类似的方式制作每月页面:

  1. 我在每月的每个页码上手动写入,并将该地点命名为ThisMonth。 请注意,只有复印纸张之前 ,您才可以这样做。 复制完成后,Excel不允许使用相同的名称,但使用图纸复制它仍然可以。 这个解决scheme也没有命名。
  2. 我在月份中添加了几个星期到位置C12。 命名也很好。
  3. 我在每一页上做了五个星期,在第五个星期我做了function

      =IF(C12=5,DATE(YEAR(B48),MONTH(B48),DAY(B48)+7),"") 

    如果这个月只有四个星期,那么第五个星期就会倒空。 C12持有周数。

  4. 我创build了年度Excel,所以我有12张纸:每个月一张。 在这个例子中,工作表的名字是“Month”。 请注意,除了您需要将所有空格更改为“_”字符之外,此解决scheme也适用于ODS文件标准。
  5. 我将第一个“Month”表更名为“Month(1)”,因此遵循相同的命名原则。 如果你愿意的话,你也可以把它命名为“Month1”,但是“January”需要更多的工作。
  6. 在第一天开始工作表#2插入以下function:

      =INDIRECT(CONCATENATE("'Month (",ThisMonth-1,")'!B15"))+INDIRECT(CONCATENATE("'Month (",ThisMonth-1,")'!C12"))*7 

    换句话说,如果您在上一张纸上填写四五个星期,则会正确计算date,并从正确的date继续。