擎子yeerum
在提取excel中提取数字,字符串,每一次都要去做相关的设置就显得比较麻烦了,如果我们用vba写一个函数保存起来,下次要用也就方便多了,只需要填写函数名,提取的字符串和提取的类型就能轻松解决问题。举个例子,我们来定义一个函数copyrange,写入以下代码:
Public Function CopyRange(ByVal sText As String, Optional ctype As String = "") As Variant
Dim i As Integer
Dim temp, strText
If ctype = "" Then: CopyRange = sText: Exit Function
If sText <> "" Then
For i = 1 To Len(sText)
temp = Mid(sText, i, 1)
If ctype = LCase("char") And IsNumeric(temp) = False Then
strText = strText & temp
ElseIf ctype = LCase("number") And IsNumeric(temp) = True Then
strText = strText & temp
End If
Next i
End If
CopyRange = strText
End Function。
这个函数功能就可以提取字符串和数字了,如果我们还想提取其他的,比如字母,汉字之内的,我们只管在条件语句中条件判断既可,这个函数第一参数是原文本,第二个参数是提取的类型,第二个可以省略,如果是char表示提取字符串,如果是number表示是数字。
我是小嘟嘟熊,熟悉vba,熟悉vb6,喜欢我的回答,请多多关照!
小嘟嘟熊
以下是在excel2003上演示
1、猜想需要的结果是计算总价,怎样提取数字计算呢?
.
2、用辅助列来计算比较好理解。如下图,当用公式“=LEFT(C2,2*LEN(C2)-LENB(C2))”提取单价数字时,发现多提取了一位,主要原因是对“/”的归类计算造成的,怎样解决呢?
.
3、很简单,我们对辅助列再计算一次就可以了,输入公式“=LEFT(G2,2*LEN(G2)-LENB(G2))”对辅助列“G列”再次计算,得到纯数字单价。
.
4、再提取数量列中的数字,输入公式:“=LEFT(D2,2*LEN(D2)-LENB(D2))”,得出数量列的纯数字。
.
5、对在辅助列提取的单价和数量相乘,得到总价。
谈天说地聊工作
您好!我是EXCEL学习微课堂,头条号原创视频作者,分享EXCEL学习的小技巧,小经验。
Excel中既有文字又有数字,怎样快速提取其中的数字?介绍2种方法。
第一种方法:快速填充法
它是EXCEL2013以上版本的中一个新功能,她能模拟、识别你的操作,推测你内心的想法,然后按照你的想法进行数据填充。
运用快速填充时,首先直接输入一组到三组数据,让Excel自动识别你的意图,再进行快速填充,快速填充的方式有3种:
1、单击“数据”选项卡 > 在“数据工具”组中 > 单击“快速填充”;
2、用快捷键Ctrl+E;
3、选中示例单元格,拖动填充柄往下填充,然后在“自动填充”选项中选择“快速填充”;
动态演示
第2种方法:自定义函数myget
函数有两参数,=myget(①从哪提取,②提取什么)
=myget(字符串,0) 取出数字
=myget(字符串,1) 取出中文字符
=myget(字符串,2) 取出英文字母
=myget(字符串,3) 取出特殊字符
=myget(字符串,4) 取出取第一个数字的位置
=myget(字符串,5) 取出取最后一个数字的位置
如果只要提取数字,只要将第2个参数设为0即可
方法步骤:
首先导入自定义函数的模板文件,点开发工具→VBA或都按ALT+F11 调出VBA 编辑器 →在工程窗口右键选择【导入文件】→选择VBA 模块文件(提取中文、英文和数字自定义函数myget.bas)→关闭VBA 编辑器。然后再输入公式即可。
动态演示:
如果我的回答对您有用,欢迎点赞、收藏、评论、转发,更多的EXCEL技能,可以关注今日头条“EXCEL学习微课堂”。如需要自定义函数mygetVBA代码文件的,在点赞、评论、转发后私信联系我!
需要了解快速填充功能的其它用法可看EXCEL学习微课堂分享的《EXCEL快速填充功能如此牛逼,你知道吗?》
EXCEL学习微课堂
excel中提取数字不难,可用快速填充、分列操作或者公式来实现,公式要根据实际情况来调整,这里就介绍快速填充和分列操作两种方式:
1、快速填充,快捷键 CTRL+E
CTRL+E是excel2013版本中新增加的功能,是参照给出的示例自动识别填充规则,完成剩余的填充。
以单元格中提取数字为例,只要在一个单元格中对应输入数字,给出提取数字的示例,然后按CTRL+E即可填充其余的单元格。
CTRL+E是自行识别规则进行填充,除了提取单元格中的数字外,还可以进行很多规则的填充,比如,取前几位字符,取某些符号后信息,替换某个字符等等,这些大家可进行尝试。
2、分列操作
分列操作是思路是先将单元格分为若干单元格,然后删除文本保留数字。
先将单元格调整为一个文本的大小,进行两端对齐的操作;
然后分列,将上一步形成的数字保持为数值的形式;
定位,选择非数字外的内容进行删除操作即可。
此种方式不限excel的版本,使用的是多种基础功能的组合~
长期分享excel高效应用技巧,已有70多个推荐答案,欢迎关注查看。
感谢点赞,您的赞同是我继续答题的动力~
Excel高效技能分享
Excel单元格中既有文字又有数字,怎样快速提取其中的数字?
这也是一个职场中很常见的问题了,从外部导入的数据在Excel常常都是一列内容,既有文字,又有数字,这里我就分享几个快速分离文字和数字的方法:
快速填充法;
函数法;
-
数据分列法;
内容重排+分列+定位法;
01 快速填充,这是13版本以上才有的新功能,很好很强大
操作步骤:
手工拆分首行数据;
向下填充,填充选项中选择快速填充,快速填充功能的快捷键是
+E
动画演示如下:
02 函数法,分离汉字和数字信息
如果是汉字和数字的组合,那还可以根据Len函数和Lenb函数的特性来获取汉字和数字,如下所示:
03 数据分列法,适合有分隔符号,如空格等情况
如果导入的数据文字和数字间有空格或者其他分隔符号隔开,那,拆分文字和汉字就简单多了,直接使用数据分列就能轻松搞定,如下所示:
04 内容重拍+分列+定位法,获取数字
这个方法操作稍微复杂点,如下动画演示:
好了,这个问题就分享到这,希望能帮到你!
我是Excel大全,头条号原创作者,每日分享实用的Excel小技巧。
您的关注、转发、点赞、收藏、评论,都是对我莫大的支持,谢谢!
Excel大全
在工作中,我们经常需要用到excel来处理数据,今天,我们就来看看如何提取数字的技巧。
1、快速填充
在excel2013版本中加入一个新的功能,快速填充,可以快速根据数据的规律,进行快速填充。
我们只需要对第一个单元格进行准确操作,它就能对有规律的数据进行精准提取。
2、函数法
我们也可以通过函数来快速提取数字。公式为:=RIGHT(C2,2*LEN(C2)-LENB(C2)),其中的“RIGHE”表示数字在右边。如果数字在左边则改为“=LEFT(C2,2*LEN(C2)-LENB(C2))”
以上就是两种从文本中提取数字简单有效的方法了。
奇趣软件技巧达人
你好,我们是一个白领运营的头条号【每日分享Excel实用及技巧】,以分享Excel实用技巧和实例教学为主,让office更好服务你!
看你的截图,是要批量提取左边的数字,去除文本!
我推荐的是一个LOOKUP的一个经典套路的使用,批量提取单元格左边的数字。
公式(不是数组公式,不需要三健)
=LOOKUP(9E+307,--LEFT(A2,ROW($1:99)))
效果图如下图:
公式讲解(套路)如下: 也可按F9键分步查看公式含义
LEFT(A2,ROW($1:99)
首先用:LEFT向右提取函数
第一次取5
第二次取52
第三次取520
...
以此类推
取至520.12元
其次:然后在left函数前面添加运算符--,将文本转化为数值格式
--LEFT(A2,ROW($1:99))
后面两个单元格由于是提取至520.12元,是带文字的文本格式,--转化后就是错误值。
这时候,我们就可以用到LOOKUP的二分法功能。我就直接教你套用即可。用LOOKUP提取一个靠近最大数值的数字。
lookup第一参数:9E+307详解如下
9E+307在excel中是比较大的一个数值,至少是很大很大的值。
9e+307,是科学记数法,表示9*10^307,是一个很大的整数。因为比较好记,所以习惯性使用!
这个最大数值也不一定要用9e+307,可以使用比单元格内数值还大的数字也是可以的,比如3000等。
本解答使用的函数如下:
=LOOKUP(9E+307,--LEFT(A2,ROW($1:99)))
好了,这个问题就分享到这,希望能帮到你!
我是每日分享Excel技巧,头条号原创作者,让你的办公生活事半功倍,白领生活更smart一点。
您的关注、转发、点赞、收藏、评论,都是对我莫大的支持,谢谢!
每日分享Excel技巧
楼上,别再用03版了,新版excel的ctrl+e了解一下,只要在第一个单元格右侧输入应该提取的正确数据,然后温柔的按下ctrl+e,你会发现,整个世界清净了
用户2962477694
这个可以用一下uuoffice这个插件了,它可以在文本字符串中提取数字、文本等。