跳到主要内容

Excel动态工作表或工作簿参考

假设您在多个工作表或工作簿中具有相同格式的数据,并且需要将这些工作表或工作簿中的数据动态地获取到另一个工作表中。 INDIRECT函数可以帮助您快速完成它。

动态引用另一个工作表中的单元格
动态引用另一个工作簿中的单元格


动态引用另一个工作表中的单元格

假设有四个工作表,每个销售员的季度销售额不同,并且您要创建一个摘要工作表,以根据相应的业务员动态提取季度销售额。 为了使其正常工作,以下公式可以提供帮助。

通用公式

=INDIRECT("'"&sheet_name&"'!Cell to return data from")

1.如下面的屏幕截图所示,首先,您需要通过在不同的单元格中分别输入工作表名称来创建摘要工作表,然后选择一个空白单元格,将以下公式复制到其中,然后按 输入 键。

=INDIRECT("'"&B3&"'!C3")

:在代码中:

  • B3 是包含要从中提取数据的工作表名称的单元格;
  • C3 是您将在其中提取其数据的特定工作表中的单元格地址;
  • 为防止在B5(工作表名称单元格)或C3(将要提取数据的单元格)为空时返回错误值,请用显示如下所示的IF函数将INDIRECT公式括起来:
    = IF(OR(B3 =“”,C3 =“”),“”,INDIRECT($ B $ 3&“!C3”))
  • 如果工作表名称中没有空格,则可以直接使用此公式
    = INDIRECT(B3&“!C3”)

2.然后,拖动其 填充手柄 将该公式应用于其他单元格。 现在,您已经从特定工作表中退回了第一季度的所有销售额。

3.继续根据需要拉动其他季度的所有销售额。 并且不要忘记在公式中更改单元格引用。


动态引用另一个工作簿中的单元格

本节讨论在Excel中动态引用另一个工作簿中的单元格。

通用公式

=INDIRECT("'[" & Book name & "]" & Sheet name & "'!" & Cell address)

如下面的屏幕截图所示,要返回的数据位于工作表的E列中 “总销售额” 在一个单独的名为 “ SalesFile”。 请按以下步骤进行操作。

1.首先,让我们填写工作簿信息(包括工作簿名称,工作表名称和参考单元格),您将根据此信息将数据提取到当前工作簿中。

2.选择一个空白单元格,将以下公式复制到其中,然后按 输入 键。

=INDIRECT("'["&$B$3&"]"&$C$3&"'!"&D3)

:

  • B3 包含要从中提取数据的工作簿名称;
  • C3 是工作表名称;
  • D3 是您要从中提取数据的单元格;
  • #REF! 如果引用的工作簿已关闭,则将返回错误值;
  • 为了避免#REF! 错误值,请使用IFERROR函数将INDIRECT公式括起来,如下所示:
    = IFERROR(INDIRECT(“'[”&$ B $ 3&“]”&$ C $ 3&“'!”&D3),“”)

3.然后向下拖动“填充手柄”以将公式应用于其他单元格。

提示: 如果您不希望在关闭引用的工作簿后返回错误值,则可以直接在公式中指定工作簿名称,工作表名称和单元格地址,如下所示:
=INDIRECT('[SalesFile.xlxs]Total sales'!E3,"")


相关功能

INDIRECT功能
Microsoft Excel INDIRECT函数将文本字符串转换为有效的引用。


最佳办公效率工具


Office Tab - 在 Microsoft Office(包括 Excel)中启用分页式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
please get back with me. it's been a while since i used cel references. what i want to do is from a column of entires, i wish to make a new column and grab every 100th row of the prior column. let's say i have cells filled in F3, F103, F203...i want the contents to appear in G3,G4,G5. it doesn't work to say =(F3+100*counter) with having a counter in a column next to where i am having the formula.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations