用公式批量提取数据信息

来源:职称计算机考试    发布时间:2012-11-07    职称计算机考试视频    评论

  假设在一个Excel工作簿中有N个企业基本情况登记表,不同工作表中分别保存了各个企业的基本情况数据,工作表格式都一致,名称分别为Sheet1、Sheet2直到SheetN。Sheet1表中企业基本情况表,从该表中可以看到,企业名称、负责人姓名和联系电话等数据分散在B2、B4及G4单元格中。如何提取各表中企业名称、负责人姓名和联系电话等内容,并将提取的内容制成表格?
  一、新建工作表
  在工作簿中插入一个新工作表,并将该工作表命名为“通讯录”,合并A1—D1单元格,在合并后的单元格中输入“全市建筑企业负责人联系电话”。分别在A2、B2、C2、D2单元格中输入“序号”、“企业名称”、“负责人”、“联系电话”等字段。
  二、输入公式
  在序号列中填充序号,在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编辑器中选择“插入→添加模块”,在代码窗口输入以下代码:
  Sub 工作表命名()
  Dim Sh As Worksheet
  For Each Sh In Worksheets
  Sh.Name = Sh.CodeName
  Next
  End Sub
  输入完成后,关闭VBA窗口,返回到工作表编辑窗口,在Excel文档中执行宏即可。将工作表名称统一后,再按照步骤一和二介绍的方法,提取表格中的数据。怎么样,是不是很简单?

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答