gpt4 book ai didi

excel - 从不同长度/格式的单元格中提取数字

转载 作者:行者123 更新时间:2023-12-02 16:34:59 26 4
gpt4 key购买 nike

我正在寻找一个公式来从 A 列中提取数字。我遇到的问题是不同的长度和格式。我正在根据下面的所需结果列寻求解决方案。

B 列中的公式:

=IFERROR(INT(LEFT(REPLACE(SUBSTITUTE(A4,"-"," "),1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A4&1/17))-1,""),5)),INT(LEFT(REPLACE(SUBSTITUTE(A4,"-"," "),1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A4&1/17))-1,""),4)))

工作簿: enter image description here

谢谢!

最佳答案

尝试以下用户定义函数:

Public Function LastNumber(s As String) As Variant
Dim L As Long, i As Long, temp As String, arr
Dim CH As String

L = Len(s)
temp = ""
For i = 1 To L
CH = Mid(s, i, 1)
If CH Like "[0-9]" Then
temp = temp & CH
Else
temp = temp & " "
End If
Next i

arr = Split(Application.WorksheetFunction.Trim(temp), " ")
For i = UBound(arr) To LBound(arr) Step -1
If IsNumeric(arr(i)) Then
LastNumber = CLng(arr(i))
Exit Function
End If
Next i
LastNumber = ""

End Function

enter image description here

它将返回字符串中的最后一个数字(数字集)

用户定义函数 (UDF) 非常易于安装和使用:

  1. ALT-F11 调出 VBE 窗口
  2. ALT-IALT-M 打开一个新模块
  3. 粘贴内容并关闭 VBE 窗口

如果保存工作簿,UDF 将随之保存。如果您使用 2003 年以后的 Excel 版本,则必须保存文件为 .xlsm 而不是 .xlsx

删除 UDF:

  1. 如上所示调出 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要使用 Excel 中的 UDF:

=我的函数(A1)

要了解有关宏的更多一般信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其工作!

关于excel - 从不同长度/格式的单元格中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com