求助:在Excel如何跨表批量引用同一个位置的单元格数据?

求助:在Excel如何跨表批量引用同一个位置的单元格数据?如文件里第一张是总表,其他worksheet的结构相同,但名称各不相同,我现在需要在第一张表的B3单元格引用第二... 求助:在Excel如何跨表批量引用同一个位置的单元格数据?如文件里第一张是总表,其他worksheet的结构相同,但名称各不相同,我现在需要在第一张表的B3单元格引用第二张表的C7,在第一张表的B4里引用第三张表的C7,在第一张表的B5里引用第四张表的C7,以此类推……可以通过像类似Hyperlink的公式来完成吗? 展开
 我来答
小耳朵爱聊车
高粉答主

2019-09-16 · 说的都是干货,快来关注
知道大有可为答主
回答量:7378
采纳率:100%
帮助的人:299万
展开全部

1、打开Excel2010工作表。  

2、为制作下拉菜单数据而构建的工作表2。  

3、将光标移动到单元格B2,点击数据,数据有效。  

4、弹出对话框,点击允许下拉菜单,选择顺序。  

5、将光标移动到源下,然后单击表2。  

6、框选性别下的男女单元格,来源处就会自动添加=Sheet2!$A$2:$A$3,确定。

动漫行家
2016-01-28 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:89%
帮助的人:766万
展开全部

 可以使用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单元格的值,工作表名用“!”表示。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1255013268
2018-07-28 · TA获得超过955个赞
知道答主
回答量:44
采纳率:100%
帮助的人:11.3万
展开全部

步骤:

1、在自己的电脑上打开EXCEL表格

2、首先创立了所需的数据表格,输入自己的数据

3、将电脑下方EXCEL的sheet修改名字

4、将第一个表格中的数据建立在如图所示的sheet里,如第一周,第二周,第三周

5、建立好几个表格,举例对这个问题进行辅助说明,内容大概如下。

6、在一个sheet5中表格里,选择要进行统计的单元格输入“=”和函数,如此处则是=sum

7、然后点击“第一周”,工作标签和相应单元格。

8、选中第一周中的数据,如图所示

9、输入“,”后再点击“第二周”工作表和相应单元格。

10、对数据进行函数公式。对“第三周”,“第四周”工作表进行相同操作。

11、输入完成后加上")"点击回车即可算出4个周的总计结果,可以向下拉动这个汇总表在单元格中做相对引用,完成所有单元格的计算。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜欢自作多情
推荐于2017-09-26 · TA获得超过614个赞
知道小有建树答主
回答量:408
采纳率:50%
帮助的人:280万
展开全部
用INDIRECT函数,但是得事先把所有的表名全部放在一起。比如全部表名已放在A列了,在B3输入公式=INDIRECT(A3&"!C7"),就可以取得A3单元格里名称的工作表C7的值了,向下复制公式,就可以全部取出来了。
因为无论如何你也要提取工作表名,下面给一个提取所有工作表名的程序
Sub 取表名()
Sheets.Add
On Error GoTo ErrorHandler ' 打开错误处理
ActiveSheet.name = "表名"
On Error GoTo 0
Sheets("表名").Move After:=Sheets(Sheets.Count)
For 表号 = 1 To Sheets.Count - 1
Cells(表号, 1).Value = Sheets("表名").name
ActiveSheet.Hyperlinks.Add Anchor:=Cells(表号, 1).Address:="", SubAddress:="'" & Sheets("表号").name & "'!A1", TextToDisplay:=Sheets("表号").name
Next
Sheets("表名").Select
Columns("A:A").EntireColumn.AutoFit
Exit Sub ' 退出ErrorHandler: ' ´íÎó´¦Àí³ÌÐò¡£
Select Case Err.number
Case 1004
Application.DisplayAlerts = False
If MsgBox("工作表 表名 已存在,是否覆盖?", vbYesNo) = vbYes Then
ActiveSheet.Delete
Sheets("表名").Cells.Delete
Sheets("表名").Select
Else
ActiveSheet.Delete
Sheets("表名").Select
Exit Sub
End If
Application.DisplayAlerts = True
End Select
Resume ' 将控制返回产生错误的语句
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sjz13jl
2015-11-11 · 知道合伙人教育行家
sjz13jl
知道合伙人教育行家
采纳数:8193 获赞数:127410

向TA提问 私信TA
展开全部

  如果是sheet1~sheet5五个工作表中的A1单元格数据相加,则在结果单元格输入“=SUM(Sheet1:Sheet5!A1)”即可。

    

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式