当前位置:首页 » 表格制作 » 怎样从一段文字里提取数字
扩展阅读
会合app什么时候可以提现 2024-11-13 17:45:14

怎样从一段文字里提取数字

发布时间: 2022-01-19 20:57:42

① Excel如何取出一段文字中的数字

提供如下两种方式:VBA公式法和Word通配符法。第一种简洁,第二种则容易理解。

这两种操作不限定字符位置和位数等。如果是固定位数、固定位置的字符,直接使用提取函数(left, right和mid即可搞掂)。

一、VBA公式法

  1. Alt+F11,打开VBA编辑器

  2. 点击左侧sheet1标签->插入->模块

  3. 粘贴如下代码到其中

  4. 回到Excel表中即可使用该公式(Num_Get())。



FunctionNum_Get(NumAsString)
DimiAsSingle
Num_Get=""
Fori=1ToLen(Num)
IfAsc(Mid(Num,i,1))>=48AndAsc(Mid(Num,i,1))<=57Then
Num_Get=Num_Get&Mid(Num,i,1)
EndIf
Next
EndFunction


二、Word通配法:

  1. 复制字符到word中

  2. 调出替换对话框(Ctrl+H)

  3. 按照如下设定

    勾选使用通配符

    查找内容栏输入[!0-9]

    替换栏保持为空

  4. 点击全部替换,word中非数字字符已经全部替换。

  5. 再复制字符粘贴到Excel中(另起一列)。

② 如何用公式在一段文字中提取多个数字

从数据上看,日期格式是固定的,都从2开始。试试
=MID(A1,FIND("2",A1),8)
其中原来的数据在A列,公式在B列

③ WPS里一段文字如何提取想要的数字

以WPS2019为例,

WPS里一段文字如何提取想要的数字

可直接在文档助手选项卡下,单元格处理,选择保留内容

④ 如何在WPS中一段字中提取数字

=MAX(IFERROR(--MID(A1,FIND("元",A1)-ROW($1:$10),ROW($1:$10)),))
ctrl+shift+回车

⑤ EXCEL中在一段文字中提取数字,并求和

如果A2的内容是油钱12元,那么公式=MIDB(A2,SEARCHB("?",A2),2*LEN(A2)-LENB(A2))可以得到12数字
SEARCHB("?",A2),它是找到第一个非中文字符的位置,在这里是5,油钱是中文字符,每个中文字符长度是2,因此第一个数字1,它的位置是5,即SEARCHB("?",A2)=5
2*LEN(A2)-LENB(A2),这个用于计算所包含的数字个数,对于Len函数,一个数字和中文都是1,对于LenB函数,中文是2,数字是1
MIdB(A2,5,2)意思是第5和第6字符,即12
如果是油钱my12元,结果是my12,而不是12
--------------
你的Excel中一个单元格中包含多个数字,我估计很难单纯用公式完成
而且4人饭钱12元,4人中的4不应该计算

⑥ EXCEL 如何从一段文字、数字中取出文字

如果你其他数据都是这种规律的话,用下面公式就行

B2=RIGHT(A1,LEN(A1)-FIND("+",SUBSTITUTE(A1," ","+",2)))

⑦ 按键精灵如何在一段文字内提取数字

用正则表达式,两下就好了。

⑧ VB中如何从一段话中提取数字

看看这两个函数.应该能解决你的问题了.

Val 函数

返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

必要的 string 参数可以是任何有效的字符串表达式.

说明

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val(" 1615 198th Street N.E.")

在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。

Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。

说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个

⑨ execl在一段文字中提取数字的问题

把你的文字放在A1单元格
A2=IF(ISERROR(FIND("斤",$A$1,1)),0,FIND("斤",$A$1,1)) 说明第一个斤出现的位置
A3=IF(ISERROR(FIND("斤",$A$1,IF(A2=0,0,A2+1))),0,FIND("斤",$A$1,IF(A2=0,0,A2+1)+1)) 说明第二个斤出现的位置
... 说明第三.四.五等下拉
B2=IF(ISERROR(VALUE(MID($A$1,A2-4,4))),IF(ISERROR(VALUE(MID($A$1,A2-3,3))),IF(ISERROR(VALUE(MID($A$1,A2-2,2))),IF(ISERROR(VALUE(MID($A$1,A2-1,1))),0,VALUE(MID($A$1,A2-1,1))),VALUE(MID($A$1,A2-2,2))),VALUE(MID($A$1,A2-3,3))),VALUE(MID($A$1,A2-4,4)))
B3=IF(ISERROR(VALUE(MID($A$1,A3-4,4))),IF(ISERROR(VALUE(MID($A$1,A3-3,3))),IF(ISERROR(VALUE(MID($A$1,A3-2,2))),IF(ISERROR(VALUE(MID($A$1,A3-1,1))),0,VALUE(MID($A$1,A3-1,1))),VALUE(MID($A$1,A3-2,2))),VALUE(MID($A$1,A3-3,3))),VALUE(MID($A$1,A3-4,4)))
...下拉
B10=SUM(B2:B9)