在 Excel 2010 中的公式中引用工作表

在 Excel 2010 中的公式中引用工作表

我使用的是 Excel 2010。假设我有一个包含 13 个工作表的工作簿。第一个工作表名为“Summary”,其余 12 个是一年中的月份(1 月至 12 月)。在“Summary”中,我想让用户选择一个月份。然后,我使用“ =DATE(YEAR(E1),MONTH(E1)+1,1)”递增到下一个月份。这总共做了 2 次,因此用户输入06/01/2016后会得到六月、七月和八月。现在,我想从 3 个命名月份中分别获取数字,并在“Summary”工作表上将它们相加。我遇到的问题与使用公式INDIRECT()以及月份单元格的格式不是文本而是日期(实际上是自定义日期)有关。

如果单元格中的数据不是文本,我该如何在公式中引用六月、七月和八月的工作表?就像=B1!H3我试图访问一样=July!H3。希望这有意义。如果没有,请告诉我,我可以尝试解决它。​​谢谢!

答案1

这是一个解决方案:

假设用户在中输入他们的日期E1

  • F1包含=DATE(YEAR(E1),MONTH(E1)+1,1)
  • G1包含=DATE(YEAR(F1),MONTH(F1)+1,1)
  • H1包含=DATE(YEAR(G1),MONTH(G1)+1,1)

(下一部分我缩短了月份名称)

您可以使用该CHOOSE函数提供一个选项列表 - 其中一个选项将根据第一个参数指定的数字进行选择。例如,假设您想A1从其中一个命名工作表中获取值:

  • F2包含=CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
  • G2包含=CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
  • H2包含=CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)

如果你想要总数,I2只需这样做

=SUM(F2:H2)

或者,如果您不想显示每个月的数字,您可以编写一个巨大的函数:

=SUM(CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1))

(绝对引用可选)

相关内容