在Excel 365中,你可以使用一些内置函数和技巧来提取单元格中的数字,无论这些数字是位于汉字中间还是其他位置。以下是一些可能的方法:
1 1. 使用数值函数和文本函数结合:
假设你的数据位于A列,可以使用以下公式提取数字:
=SUMPRODUCT(MID(0&B1,LARGE(INDEX(ISNUMBER(--MID(B1,ROW($1:$300),1))*ROW($1:$300),0),ROW($1:$300))+1,1)*10^(ROW($1:$300)-1))
这个公式的思路是将文本转换为数字,并使用 MID 函数逐个提取字符,然后使用 SUMPRODUCT 计算数字。
1 2. 使用正则表达式(需要365中的动态数组函数):
如果你使用Excel 365,并且启用了动态数组功能,你可以使用FILTERXML和正则表达式来提取数字。假设你的数据在A列:
=TEXTJOIN("",,FILTERXML("<a><b>"&SUBSTITUTE(A1," ","</b><b>")&"</b></a>","//b[translate(.,'0123456789','')='']"))
这个公式的思路是使用 SUBSTITUTE 将空格替换为excel数字转字符串函数</b><b>,然后使用 FILTERXML 和 TEXTJOIN 提取数字。
1 3. 使用自定义VBA函数:
如果你对VBA(Visual Basic for Applications)有一定的了解,也可以使用自定义的VBA函数来提取数字。在VBA编辑器中插入新模块,然后添加如下代码:
Function ExtractNumbers(inputString As String) As Double
Dim i As Integer
Dim result As String
For i = 1 To Len(inputString)
If IsNumeric(Mid(inputString, i, 1)) Then
result = result & Mid(inputString, i, 1)
End If
Next i
ExtractNumbers = CDbl(result)
End Function
在Excel中使用:
=ExtractNumbers(A1)
这个自定义函数会将输入字符串中的数字提取出来。
请注意,上述方法都是一些通用的技巧,具体的使用可能需要根据数据的具体形式进行调整。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论