excel怎样批量跨表格引用

我想在一张sheet1汇总表里的一列单元格里引用后面几百张明细sheet里的数字,引用的单元格位置相同,就是表格名不用,比如A列显示公司名称,公司名称来自后面几百张表格的... 我想在一张sheet1汇总表里的一列单元格里引用后面几百张明细sheet里的数字,引用的单元格位置相同,就是表格名不用,比如A列显示公司名称,公司名称来自后面几百张表格的A1单元格,怎么批量引用? 展开
 我来答
枯红的枫叶5
推荐于2019-02-08 · TA获得超过1.2万个赞
知道小有建树答主
回答量:2255
采纳率:71%
帮助的人:262万
展开全部

 可以使用INDIRECT函数来返回引用。如果表名有规律,如Sheet1、Sheet2……SheetN,可以直接引用,如果表名没规律,得先用宏表函数取出表名,再引用。

以下图为例,假设工作表分别为Sheet1-Sheet5,各表的A1单元格分别为1-5,汇总表在后面,要把各分表的A1单元格取到汇总表。

方法一:表名有规律的方法。

B1 =IFERROR(INDIRECT("sheet"&ROW()&"!A1"),"")

公式下拉复制,就可以了,如上图。

方法二:表名没有规律的方法。

步骤1:定义名称 x 如下

=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")

步骤2:A1输入公式

=IF(ROW()>COLUMNS(x)-1,"",INDEX(x,ROW()))

公式下拉到足够容纳所有工作表名

步骤3:C1输入公式

=IFERROR(INDIRECT(A1&"!A1"),"")

公式下拉,结果如下图

知识扩展:

1、GET.WORKBOOK(1)是4.0宏表函数,以“[工作簿1.xlsm]Sheet1”的形式返回所有工作表名的水平数组,再用REPLACE函数把工作簿名去掉,只保留所有工作表名,再用INDEX函数逐个取出。

2、由于使用了4.0宏表函数,因此,工作簿必须保存为启用宏的工作簿(*.xlsm),不能保存为不启用宏的工作簿格式(*.xlsx)。

3、INDIERECT函数的用途就是,返回由文本字符串指定的引用,如=INDIRECT("Sheet1!A1"),就是返回Sheet1工作表的A1单元格的值,工作表名用“!”表示。

ExcelPower
推荐于2018-10-10 · 专业Excel公式图表数据分析VBA
ExcelPower
采纳数:4495 获赞数:11866

向TA提问 私信TA
展开全部
sheet1 里按Alt+F11
视图---代码窗口

输入如下, 输完后按F5运行

sub shtname()
for i=2 to sheets.count
cells(i,1)=sheets(i).[A1]
next
end sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江湖人盼盼
2015-08-09 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:135
采纳率:50%
帮助的人:38.9万
展开全部
比如需要计算Sheet1到Sheet5且均是单元格A1的和,我们来用SUM函数,如下:
1、首先在Sheet6中A1单元格中输入:=SUM()
2、然后,把光标定位在(丨)中;
3、点击Sheet1的标签,然后按住Shift键同时点击Sheet5,这样就把Sheet1-5都选中了;
4、然后直接点击A1单元格,再敲击键盘回车键,这样跨表格引用就完成了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友24ef169fc
2012-01-12 · TA获得超过9084个赞
知道大有可为答主
回答量:2.2万
采纳率:63%
帮助的人:4385万
展开全部
把问题作为内容(邮件主题一定要包含“excel”)、excel样表文件(请特别注意:要03版的,把现状和目标效果表示出来)作为附件发来看下 yqch134@163.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式