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

时间:2013-03-27 19:52:39

标签: excel excel-formula worksheet-function

我计划有一张24张的工作簿。工作表名称将为:Jan,Jan item,Feb,Feb item等。

基本上是预算编制,月份名称表格包含摘要信息,名称中包含“item”的信息包含更详细的信息。

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

='Jan item'!J3

然而,我不想为每个摘要表(Jan,Feb等)重新输入这样的公式,我希望有类似的东西:

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

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

我之所以这样说是因为,对于每个汇总表,在相应的逐项清单中会有数十个此类单元格的引用。

我问的是可行的吗?

3 个答案:

答案 0 :(得分:31)

仍在使用间接。 假设您的A1单元格是您的变量,它将包含引用工作表的名称(Jan)。 如果你经过:

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

然后你将获得'Jan Item'!J3值。

答案 1 :(得分:12)

除非您想要使用VBA路线来计算Tab名称,否则Excel公式基于Mid函数等相当丑陋。 但如果你想这样做,可以找到here这两种方法。

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

1)在工作表上创建一个名为Reference_Sheet的单元格,并在该单元格中输入值" Jan Item"例如。

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

=INDIRECT(Reference_Sheet&"!J3") 

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

希望这能为您提供您想要的东西!

答案 2 :(得分:0)

以下是我以与Fernando类似的方式制作月刊的方式:

  1. 我手动编写了当月的每个页码,并将该地点命名为ThisMonth。请注意,您只能在之前执行此操作复制工作表。复制后,Excel不允许您使用相同的名称,但使用工作表复制它仍然可以使用。此解决方案也可以在不命名的情况下工作。
  2. 我将当月的周数添加到位置C12。命名也很好。
  3. 我在每一页都做了五个星期,第五周我做了功能

      =IF(C12=5,DATE(YEAR(B48),MONTH(B48),DAY(B48)+7),"")
    
    如果这个月只有四个星期,第五个星期就会清空。 C12持有周数。

  4. ...
  5. 我创建了年度Excel,所以我有12张纸:每个月一张。在此示例中,工作表的名称为“Month”。请注意,此解决方案也适用于ODS文件标准,但您需要将所有空格更改为“_”字符。
  6. 我将第一个“月”表重命名为“月(1)”,因此它遵循相同的命名原则。如果您愿意,也可以将其命名为“Month1”,但“1月”需要更多的工作。
  7. 在第一天字段起始页#2上插入以下功能:

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

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