《现代计算机》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),在代码窗口输入以下代码:
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |