往行
发表于 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