首页 文章

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

提问于
浏览
24

我计划有一张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 回答

  • 12

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

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

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

  • 31

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

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

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

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

    =INDIRECT(Reference_Sheet&"!J3")
    

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

    希望这能满足您的需求!

  • 0

    以下是我以与Fernando类似的方式制作每月页面的方式:

    • 我手动编写了当月的每个页码,并将该地点命名为ThisMonth . 请注意,您只能在复制工作表之前执行此操作 . 复制后,Excel不允许您使用相同的名称,但使用工作表复制它仍然可以使用 . 此解决方案也可以无需命名 .

    • 我将当月的周数添加到位置C12 . 命名也很好 .

    • 我在每一页都做了五个星期,第五周我发了功能

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

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

    • ......

    • 我创建了年度Excel,所以我有12张纸:每个月一张 . 在此示例中,工作表的名称为"Month" . 请注意,此解决方案也适用于ODS文件标准,但您需要将所有空格更改为"_"个字符 .

    • 我将第一个"Month"表重命名为"Month (1)",因此它遵循相同的命名原则 . 如果您愿意,也可以将其命名为"Month1",但"January"需要更多工作 .

    • 在第一天字段起始页#2上插入以下函数:

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

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

相关问题