excelexcel取单元格数值提取数值

3.6.3.7 从Excel报表提取数据 - Foxtable 人人都能开发管理软件
从Excel报表提取数据
Foxtable可以根据Excel模板批量生成Excel表格,反过来,我们也可以从Excel表格提取数据写入Foxtable。
假定有一个下图所示的Excel文件,发给所有员工自行填写,然后将所有填写好的文件放在同一个目录,现在要求编写代码从这些Excel文件中提取数据,写入到Foxtable的
员工表中:
代码是很简单的,只是将Excel各单元格的内容写入新增行对应列而已:
.GetFiles(&c:\Data&)
file.EndsWith(&.xls&)
file.EndsWith(&.xlsx&)
&&&&&&& Dim
XLS.Book(file)
&&&&&&& Dim
Book.Sheets(0)
&&&&&&& Dim
= DataTables(&员工&).AddNew
dr(&姓名&)
sheet(4,1).Text
dr(&部门&)
sheet(5,1).text
dr(&出生日期&)
sheet(4,3).text
dr(&雇佣日期&)
sheet(5,3).text
dr(&性别&)
sheet(6,1).text
dr(&职务&)
sheet(6,3).text
dr(&地址&)
sheet(7,1).text
dr(&家庭电话&)
sheet(8,1).text
dr(&办公电话&)
sheet(8,3).text
dr(&备注&)
= sheet(9,0).text
&&& End If
如果要同时提取照片,可以将代码改为:
For Each file As
In filesys .GetFiles(&c:\Data&)
&&& If file.EndsWith(&.xls&)
OrElse file.EndsWith(&.xlsx&)
&&&&&&& Dim Book
XLS.Book(file)
&&&&&&& Dim Sheet
As XLS.Sheet
= Book.Sheets(<font SIZE="2" COLOR="#)
&&&&&&& Dim dr
As DataRow
= DataTables(&员工&).AddNew
&&&&&&& dr(&姓名&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).Text
&&&&&&& dr(&部门&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&出生日期&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&雇佣日期&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&性别&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&职务&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&地址&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&家庭电话&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&办公电话&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& dr(&备注&)
= sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).text
&&&&&&& Dim fl
= ProjectPath
&Attachments\&
dr(&姓名&)
&&&&&&& If Sheet(<font SIZE="2" COLOR="#,<font SIZE="2" COLOR="#).SaveImage(fl)
Then '如果照片保存成功
&&&&&&&&&&&
dr(&照片&)
= fileSys.GetName(fl)
&&&&&&& End If
&&& End If您还未登陆,请登录后操作!
在EXCEL表格里,怎么提取某一单元格中的一部分文字?
与公式吗?
(1)用函数可以办到,假设A1对应“张三:50分”,A2对应“李四:85分”,则在B1中输入=left(A1, find(&#034;:&#034;,A1, 1)-1)就可以把“张三”提取出来,向B2填充公式,就可以把“李四”提取出来。再向B列其它格填充公式就把A列的都提取出来了。
这个公式的含义是,先用find(&#034;:&#034;,A1, 1)在A2中查找:所在的位置,然后用left()从A1中提取:号之前的数据。
另外,如果A列用的:是半角的话(:是半角,:是全角,不一样的),就把公式中的&#034;:&#034;改成&#034;:&#034;,否则会出错。
(2)分列法:如果不用函数的话,可以使用数据-分列,先选“分隔符”,再选“其它”,输入:号,下一步会把目标区域改成C1,按完成即把A列分成两列,C列是姓名,D列是分数。
(3)查找-替换法:还可以通过查找替换,查找中输入:*,替换中什么也不输,按全部替换就把:号和它后面的分数去掉了。
附件中是前两种情况,你可以看看效果。
(B2,1,(SEARCH(&:&,B2)-1))。注意公式中&:&此字符的输入,必须与&张三:50分 &中的格式相同。
祝你好运来!
您的举报已经提交成功,我们将尽快处理,谢谢!
请见附件公式法和分列法并说明。
大家还关注Excel表格数据的拆分、提取和合并技巧-excel技巧-电脑技巧收藏家
|||||||||||||
当前位置: &&&&正文
Excel表格数据的拆分、提取和合并技巧
一、数据的拆分与提取
  学员小刘是一名业绩非常出色的销售经理,他在记录客户的通讯地址和邮政编码时,将它们放在了一个单元格中(如图1),到了年底想利用中的“邮件合并”功能给每位客户发送贺卡邮件时,看着三四千条客户信息,才发现这样的记录方式有问题,赶紧发邮件向我求助。幸运的是,这个Excel文档中填写地址和邮政编码数据的中间有一个空格,所以可以在10秒钟之内轻松搞定。
  图1 数据表
  (1)数据拆分操作
  由于数据量较大,所以要先通过列号将整列全部选中。进入“数据→分列”命令,选择默认的“分隔符号”选项,单击“下一步”按钮。然后将中间“空格”的选项选中,会在下方看到分列的预览。再进入“下一步”(见图2),单击“完成”按钮,好了,大功告成。
  图2 数据拆分
  如果中间没空格,前面的客户地址信息文本长度又不一致呢?也不难,15秒即可完成。无法使用“分列”命令,就使用Excel的文本提取函数。在Excel中文本提取函数常用的有3种:“LEFT”、“RIGHT”和“MID”,可以分别从“左”、“右”和“中间”提取单元格中的文本字符。本例中,分别使用“LEFT”和“RIGHT”来提取客户地址信息和邮政编码。
(2)文本提取函数的操作
  先来看看右侧“邮政编码”数据的提取。将光标定在B2单元格中,输入公式“=RIGHT(A2,6)”,回车后,就能自动提取出数据源A2单元格右侧第6位文本字符,也就是邮政编码数据信息,最后填充柄填充就能计算出下方地址中所有右侧的6位邮政编码信息(见图3)。
  图3 文本提取
  面再来看看左侧“客户地址”数据的提取。将光标定在第1个客户地址单元格后面C2单元格中,然后在单元格中输入公式“=LEFT(A2,LEN(A2)-6)”。回车,再用填充柄向下填充所有客户地址信息(见图4)。
  图4 填充柄使用
  小提示:由于左侧的文本字符长度不一致,所以要在“LEFT函数”的第2个参数中嵌套一个“LEN函数”。“LEN函数”的作用是计算出A2单元格的总字符个数,然后用总的字符数减去6位邮政编码,计算出地址的文本字符数。
  二、数据的合并
  除了把数据进行拆分或提取,数据常常需要合并,有两种常用方法。
  下面来看一个例子,客户所在的“城市”和“地址”信息分别记录在了两个单元格中,现在需要将它们合并到一起,生成一个“通讯地址”,如何实现?
  将光标定在C2单元格中,然后在其中输入公式“=A2&&市&&B2”(这个公式说明有3个文本相加,分别是城市名称、“市”字符和客户地址信息,见图5)。回车后,销售城市地区和客户地址信息就合并到了一起,最后用填充柄向下填充。如果使用“CONCATENATE函数”,在B2单元格中输入“=CONCATENATE(A2,&市&,B2)”,也可以把多个文本进行合并,大家可根据个人喜好自由选择。
  图5 数据合并
  很多公司或人员都把Excel当作小型数据库来使用,数据查询工作必不可少。这些查询功能有一个相同的前提,就是尽可能地将数据按照不同的内容分类,把数据拆分成信息单一的“字段”表的形式。例如,为通讯地址信息分别建立“城市”和“地址”2个字段,为电话信息分别建立区号”、“总机”和“分机”3个字段。这样才能按照字段进行排序、筛选、数据透视表、甚至使用一些查找函数来查询和检索数据。
  在使用或查看数据信息时,有时又需要较完整的数据信息,那么就需要将数据进行合并。无论拆分还合并只是一种操作手段,目的是利用Excel将数据信息管理好,让它为我们的应用提供便利,成为我们办公中的得力助手。
免责声明:本站资料来源于互联网,其版权归原作者所有。如内容涉及或侵犯了您的权益,请通知我!
版权所有 Copyright&2009&
建议使用分辨率:及更高直接提取Excel2007单元格小数点后第N位数字
在平时的办公学习当中,因需要,要将一连串的小数按照无规律进行提取小数点后第N位数字,难道我们还手动的去一个个看了在输入?明显不是聪明人的做法。下面,小编就来介绍一个快速有效的方法。
①启动Excel2007,打开需要处理的数据清单,在F2单元格输入下面的公式。
②回车得到结果7,公式的意思是向右取2位小数,也就是7。
③在验证结果准确无误之后,我们放心的双击单元格填充柄,将余下的进行计算。
④如果结果显示乱码,请讲填充设置为不带格式填充,这样结果都会准确。
最新视频教程
点击:7117&&&评论:2
点击:2464&&&评论:0
点击:4264&&&评论:0
点击:700241&&&评论:54
点击:1050914&&&评论:266
点击:179379&&&评论:33
点击:190142&&&评论:30
点击:133260&&&评论:89}

我要回帖

更多关于 excel 限制单元格数值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信