|
网络发烧友

|
1#
大 中
小 发表于 2007-3-27 18:04 只看该作者
用公式批量提取数据信息
《现代计算机》2004年第10期刊登了《批量提取,一键搞定》一文,看后深受启发,但笔者认为,文中所介绍的方法过于复杂,其实用excel公式照样可以实现上述效果。
: n9 w& {* ` s163k团购网站系统官方服务论坛
. {) R5 \$ K, Z' L 假设在一个excel工作簿中有n个企业基本情况登记表,不同工作表中分别保存了各个企业的基本情况数据,工作表格式都一致,名称分别为sheet1、sheet2直到sheetn。图1为sheet1表中企业基本情况表,从该表中可以看到,企业名称、负责人姓名和联系电话等数据分散在b2、b4及g4单元格中。如何提取各表中企业名称、负责人姓名和联系电话等内容,并将提取的内容制成如图2所示的表格呢? bbs.163k.com; W2 l6 W9 d# A1 U. W0 s0 J7 O
. v' h$ E3 U# W8 S d6 ]# q1 L3 sbbs.163k.com
$ J0 ^! V4 H* ]' H" B为互联网事业发展提供源动力! 为互联网事业发展提供源动力!5 ]3 k/ O8 L! Q& l% k
9 {. h+ f/ C7 R# E. M* S
- e& T9 `+ ?9 S/ q; Y0 R: D0 q为互联网事业发展提供源动力! 一、新建工作表 团购网站系统,团购网程序# A4 V0 z2 n3 U; W
团购网站系统,团购网程序7 P* z4 O1 d$ P
在工作簿中插入一个新工作表,并将该工作表命名为“通讯录”,合并a1—d1单元格,在合并后的单元格中输入“全市建筑企业负责人联系电话”。分别在a2、b2、c2、d2单元格中输入“序号”、“企业名称”、“负责人”、“联系电话”等字段。
1 ]- `& P5 ?/ M6 \% e, a
3 h$ z5 d [6 c8 x' r9 b: F163k团购网站系统官方服务论坛 二、输入公式 163k团购网站系统官方服务论坛6 H. {, l$ U+ p
+ K% H2 H; ]! x4 X5 [" R' }团购网站系统,团购网程序 在序号列中填充如图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单元格右下角的填充柄,将公式向下拖动复制到相应数据区域。这样,一份精致的表格就呈现在你面前了。
6 g, A% [) p f8 {$ o' t- q团购网站系统,团购网程序163K网站系统官方论坛( p" C6 _" C0 k" G% {8 W
三、批量命名工作表
) G, i# [. [3 U/ w& A为互联网事业发展提供源动力!163k团购网站系统官方服务论坛2 M7 T& d: Q. Z5 E2 j
如果各工作表名称无规律,如“一建公司表”、“路桥公司表”等,使用公式前还需将所有表名称统一为默认的表名,当然表数量不多,用手工命名也可以,如果工作表数量很多,批量命名则要使用vba代码了。具体实现方法如下:执行“工具→宏→visul basic编辑器”命令或按下alt+f11组合键,在visul basic编辑器中选择“插入→添加模块”(图3),在代码窗口输入以下代码:
& E8 K* i4 ^4 D0 r& P为互联网事业发展提供源动力!163K网站系统官方论坛& X0 {7 Z3 r% F2 D$ l( W+ }
. k5 r6 R5 z; Z1 x; ibbs.163k.com 163K网站系统官方论坛1 _& D; ]; W* O: U
: [9 v) @$ V6 ~ @4 j. s163K网站系统官方论坛
* V1 J9 Z" _2 F8 P7 [* x, l163k团购网站系统官方服务论坛 sub 工作表命名()
& `8 a3 X+ s& x
" O4 Z" k) S1 \$ q团购网站系统,团购网程序 dim sh as worksheet ; k7 K0 ?" J# d6 f+ f+ u# F
bbs.163k.com4 `) @ p. g3 S2 p' j4 m
for each sh in worksheets
; E- J7 e! i0 m h0 |1 K0 f163k团购网站系统官方服务论坛团购网站系统,团购网程序+ V/ | J3 I& R+ B1 }6 y, d
sh.name = sh.codename 163k团购网站系统官方服务论坛+ N W/ G3 S9 @0 {0 {( [
9 `0 o0 ?; h- {# z9 s) f为互联网事业发展提供源动力! next
) w" W) Z+ _0 O C6 Q1 X
( E. e" f- h% s7 C0 m3 k) }+ U3 }团购网站系统,团购网程序 end sub 163k团购网站系统官方服务论坛( j9 D1 F1 A, Y$ ^
# m9 u. C- f- t0 A团购网站系统,团购网程序 输入完成后,关闭vba窗口,返回到工作表编辑窗口,在excel文档中执行宏即可。将工作表名称统一后,再按照步骤一和二介绍的方法,提取表格中的数据。怎么样,是不是很简单? 为互联网事业发展提供源动力!; G7 z. x" k6 [2 `' Q2 T
V" d; m0 D" t3 @: _4 f4 f( d! q为互联网事业发展提供源动力!bbs.163k.com# ?, ]' }7 B; R" R* A' O8 H, J
( S9 G2 E3 A' v; N163k团购网站系统官方服务论坛
% u' a' d6 _0 H; H
|