gpt4 book ai didi

regex - 从单元格中删除除数字之外的所有内容

转载 作者:行者123 更新时间:2023-12-02 19:21:18 25 4
gpt4 key购买 nike

我有一个 Excel 工作表,我使用以下命令从包含表单文本的单元格中获取数字:

=MID(D2;SEARCH("number";D2)+6;13)

它搜索字符串“number”并获取其后面的 13 个字符。但有时结果会超过数字,因为单元格中的这些文本没有模式,如下例所示:

62999999990
21999999990
11999999990
6299999993) (
17999999999)
21914714753)
58741236714 P
18888888820

我如何避免获取除数字以外的任何内容,或者如何从我得到的内容中删除除数字以外的所有内容?

最佳答案

您可以使用此用户定义函数 (UDF),该函数将仅获取特定单元格内的数字。

代码:

Function only_numbers(strSearch As String) As String

Dim i As Integer, tempVal As String

For i = 1 To Len(strSearch)
If IsNumeric(Mid(strSearch, i, 1)) Then
tempVal = tempVal + Mid(strSearch, i, 1)
End If
Next

only_numbers = tempVal

End Function

要使用它,您必须:

  1. 按 ALT + F11
  2. 插入新模块
  3. 将代码粘贴到“模块”窗口内
  4. 现在,您可以在电子表格中使用公式 =only_numbers(A1),只需将 A1 更改为您的数据位置即可。

示例图像:

  • 在模块窗口插入代码:

enter image description here

  • 执行函数

enter image description here

Ps.:如果要将位数限制为13位,可以将最后一行代码改为:

    only_numbers = tempVal

    only_numbers = Left(tempVal, 13)
<小时/>

或者您可以查看this topic了解如何使用公式实现这一目标。

关于regex - 从单元格中删除除数字之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42960534/

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