Excel怎样批量提取文本中数字求和

2025-11-11 15:14:49

1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样批量提取文本中数字求和 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

Excel怎样批量提取文本中数字求和

2、然后按下快捷键ALT+F11打开VBE(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

Excel怎样批量提取文本中数字求和

3、然后插入了一个模块1,在代码框中复制如下代码:

Sub 选数据批量提取数字求和()

    '2020-8-10 22:14:19

    Dim myr As Range, myrs As Range, m As String, sn, i

    Set myrs = Selection

    For Each myr In myrs

        m = myr.Text

        sn = 0

        With CreateObject("VBSCRIPT.REGEXP")

            .Pattern = "-[0-9]+(\.[0-9]*)?|[0-9]+(\.[0-9]*)?"

            .Global = True

            If .Test(m) Then

                For Each i In .Execute(m)

                    sn = sn + Val(i)

                Next i

            Else

                sn = "无数字"

            End If

        End With

        myr.Offset(0, 1).Value = sn

    Next myr

End Sub

Excel怎样批量提取文本中数字求和

4、以上操作动态过程如下:

Excel怎样批量提取文本中数字求和

5、回到工作表窗口,首先选原数据表,然后运行【选数据批量提取数字求和】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),在选单元格后一列输出求和结果,运行过程如下图。

Excel怎样批量提取文本中数字求和

Excel怎样批量提取文本中数字求和

1、按下快捷键ALT+F11打开VBE(宏)编辑界面,在【模块1】右边代码框【选数据批量提取数字求和】宏代码后面复制下面代码:

Function TEXTSUM(mm)

    '2020-8-10 22:24:12

    Dim mr, m As String, sn, i

    On Error Resume Next

    i = 0

    For Each mr In mm

        i = i + 1

        If i = 1 Then

            m = mr.Text

        Else

            m = m & "@" & mr.Text

        End If

    Next mr

    If Err.Number <> 0 Then

        m = mm

    End If

    Err.Clear

    sn = 0

    With CreateObject("VBSCRIPT.REGEXP")

        .Pattern = "-[0-9]+(\.[0-9]*)?|[0-9]+(\.[0-9]*)?"

        .Global = True

        If .Test(m) Then

            For Each i In .Execute(m)

                sn = sn + Val(i)

            Next i

        Else

            sn = "无数字"

        End If

    End With

    TEXTSUM = sn

End Function

Excel怎样批量提取文本中数字求和

2、函数TEXTSUM

功能:文本中数据数字求和。

语法:

TEXTSUM(range)

range为单元格或单元格区域和文本。

3、函数TEXTSUM使用

公式                               说明(结果)

=TEXTSUM(A1)               -0.57

=TEXTSUM(A2)               -0.46

=TEXTSUM(A1:A2)           -1.03

=TEXTSUM("a1b2c3")      6

Excel怎样批量提取文本中数字求和

Excel怎样批量提取文本中数字求和

4、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢