设为首页
加入收藏
繁體中文
电脑教程
Baidu
您当前的位置:极光软件园 -> 电脑教程 -> 办公软件 -> Excel -> 文章内容 退出登录 用户管理
用公式批量提取数据信息
作者:佚名  来源:不详  发布时间:2006-3-2 12:07:43  发布人:soft666

减小字体 增大字体

    《现代计算机》2004年第10期刊登了《批量提取,一键搞定》一文,看后深受启发,但笔者认为,文中所介绍的方法过于复杂,其实用Excel公式照样可以实现上述效果。

  假设在一个Excel工作簿中有N个企业基本情况登记表,不同工作表中分别保存了各个企业的基本情况数据,工作表格式都一致,名称分别为Sheet1、Sheet2直到SheetN。图1为Sheet1表中企业基本情况表,从该表中可以看到,企业名称、负责人姓名和联系电话等数据分散在B2、B4及G4单元格中。如何提取各表中企业名称、负责人姓名和联系电话等内容,并将提取的内容制成如图2所示的表格呢?   


  一、新建工作表

  在工作簿中插入一个新工作表,并将该工作表命名为“通讯录”,合并A1—D1单元格,在合并后的单元格中输入“全市建筑企业负责人联系电话”。分别在A2、B2、C2、D2单元格中输入“序号”、“企业名称”、“负责人”、“联系电话”等字段。

  二、输入公式

  在序号列中填充如图2所示的序号,在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单元格右下角的填充柄,将公式向下拖动复制到相应数据区域。这样,一份精致的表格就呈现在你面前了。

  三、批量命名工作表

  如果各工作表名称无规律,如“一建公司表”、“路桥公司表”等,使用公式前还需将所有表名称统一为默认的表名,当然表数量不多,用手工命名也可以,如果工作表数量很多,批量命名则要使用VBA代码了。具体实现方法如下:执行“工具→宏→Visul Basic编辑器”命令或按下Alt+F11组合键,在Visul Basic编辑器中选择“插入→添加模块”(图3),在代码窗口输入以下代码:   


  Sub 工作表命名()

  Dim Sh As Worksheet

  For Each Sh In Worksheets

  Sh.Name = Sh.CodeName

  Next

  End Sub

  输入完成后,关闭VBA窗口,返回到工作表编辑窗口,在Excel文档中执行宏即可。将工作表名称统一后,再按照步骤一和二介绍的方法,提取表格中的数据。怎么样,是不是很简单?
[ ] [返回上一页] [打 印] [收 藏]
栏目导航  
· Word · Excel
· Office · Powerpoint
· 输入法 · 邮件处理
热门文章  
· [组图] [JAVA]十四种Java开发工具点评
· [组图] NTFS:格式技巧三则
· [图文] 如何从网上下载国际巨头的PPT模板...
· [组图] CorelDraw12.0简体中文版
· [组图] 全国首发 MSN7.0正式版新鲜体验
· PowerPoint:制作演示文稿
· [组图] CorelDRAW9 阶段学习
· Java数据库编程中的技巧
· [组图] Adobe lllustrator的排版功能
· [组图] 十大怪招助你200%提升迅雷速度
相关文章  
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
正在加载统计
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图