a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 86|回复: 0

[Excel2003] 职称计算机辅导:用公式批量提取数据信息

[复制链接]
发表于 2012-8-2 09:39:45 | 显示全部楼层 |阅读模式
假设在一个Excel工作簿中有N个企业基本情况登记表,不同工作表中分别保存了各个企业的基本情况数据,工作表格式都一致,名称分别为Sheet1、Sheet2直到SheetN。Sheet1表中企业基本情况表,从该表中可以看到,企业名称、负责人姓名和联系电话等数据分散在B2、B4及G4单元格中。如何提取各表中企业名称、负责人姓名和联系电话等内容,并将提取的内容制成表格?0 C& S4 }" K5 k( v9 M
一、新建工作表4 O% q8 [/ }1 ~3 e+ x- @2 X3 f
在工作簿中插入一个新工作表,并将该工作表命名为“通讯录”,合并A1—D1单元格,在合并后的单元格中输入“全市建筑企业负责人联系电话”。分别在A2、B2、C2、D2单元格中输入“序号”、“企业名称”、“负责人”、“联系电话”等字段。
+ r- H' |' Q; K, T% G, s* W二、输入公式; Y% U' }+ g2 [# j
在序号列中填充序号,在B3单元格中输入公式:“= INDIRECT("Sheet"&ROW()-2&"!$B$2")”。公式中INDIRECT函数返回由文字串指定的引用。ROW()返回所在单元格的行号,"Sheet"&ROW()-2&"!$B$2"为要引用的单元格,该公式含义为返回Sheet1表中B2单元格的值。同样道理在C3及D3单元格中分别输入“=INDIRECT("Sheet"&ROW()-2&"!$B$4")”、“=INDIRECT("Sheet"&ROW()-2&"!$G$4")”。上述公式中单元格引用要使用绝对引用,否则会导致错误的结果。公式输入完成后,选中A3:D3单元格区域,将鼠标指向D3单元格右下角的填充柄,将公式向下拖动复制到相应数据区域。这样,一份精致的表格就呈现在你面前了。5 }4 o0 O$ K+ K( Z4 H
三、批量命名工作表, u9 ~3 ^0 z# i, u2 _. }9 a
如果各工作表名称无规律,如“一建公司表”、“路桥公司表”等,使用公式前还需将所有表名称统一为默认的表名,当然表数量不多,用手工命名也可以,如果工作表数量很多,批量命名则要使用VBA代码了。具体实现方法如下:执行“工具→宏→Visul Basic编辑器”命令或按下Alt+F11组合键,在Visul Basic编辑器中选择“插入→添加模块”,在代码窗口输入以下代码:# ?0 n. k+ P$ `+ S& C& h6 r
Sub 工作表命名()* U+ V- U6 H! k7 o6 O- P
Dim Sh As Worksheet$ d# Z& V0 A3 T% j9 F& d0 x
For Each Sh In Worksheets
6 O+ F' I3 J' ZSh.Name = Sh.CodeName, b8 b0 ~# X# z0 p7 E& w( b: V5 w
Next* b3 I8 E1 j$ [  V) |8 E6 C" H
End Sub
" p0 h& T  V( ?( d3 J$ u输入完成后,关闭VBA窗口,返回到工作表编辑窗口,在Excel文档中执行宏即可。将工作表名称统一后,再按照步骤一和二介绍的方法,提取表格中的数据。怎么样,是不是很简单?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-15 05:36 , Processed in 0.187669 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表