往行 发表于 2022-1-16 05:21:15

公式需要先分组,再使用公式。
VBA可以用split函数,使用len和lenb提取数字,do while循环每个split,然后sum

被告山杠爷 发表于 2022-1-18 06:02:26

=SUM(IFERROR(--MID(SUBSTITUTE(SUBSTITUTE(TRIM(MID(SUBSTITUTE(A3,",",REPT(" ",100)),(ROW(1:99)-1)*100+1,100)),"件",""),"色",""),2,99),"")) 数组,三键结束

绿叶一片 发表于 2022-1-18 23:24:27

数组中的“色”“件”解释一下吗?有时候可能会替换成其他名称,格式不变。

大秦乄龙啸 发表于 2022-1-20 02:01:09

拆成数组"紫色3件";"蓝5件";"青7件";"绿色12件";"黄66件";"橙12件";"红色99件"后替换掉“色”和“件"方便提取中间的数字

小芊芊 发表于 2022-1-21 08:36:08

=SUM(IFERROR(--RIGHT(TEXT(MID(SUBSTITUTE(D3,"件",REPT(" ",9)),ROW(1:199),9),),8),))

小茶壺 发表于 2022-1-21 10:45:46

Sub RegExp()
Dim RegExp, Match, iMatch, MhVal$, SumMh%, i%
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = "(\d+)"
RegExp.Global = True
Set Match = RegExp.Execute(Cells(i, 1))
If Match.Count > 0 Then
    For Each iMatch In Match
      MhVal = iMatch.submatches(0)
      SumMh = SumMh + Val(MhVal)
    Next
End If
Cells(i, 2) = SumMh
SumMh = 0
Next i
End Sub

收复南沙 发表于 2022-1-23 10:40:37

=EVALUATE(SUBSTITUTE(TRIM(CONCAT(MIDB(A3,ROW($1:$99),1)))," ","+")) 三键结束

冫夌 发表于 2022-1-24 08:07:11

=SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(A3,"件",REPT(" ",9)),ROW($1:$88),9),),2,8),"[>];;0;!0"))

妹油名字 发表于 2022-1-24 13:26:04

这个问题我回答了很多次了,在不规则的文本中提取字符,非正则表达式公式莫属。
使用方法如图所示

一物一宇 发表于 2022-2-2 02:11:57

公式需要先分组,再使用公式。
VBA可以用split函数,使用len和lenb提取数字,do while循环每个split,然后sum
页: 1 [2] 3
查看完整版本: 文字数字组合的如何提取数字求和?