怎样用公式从字符串中提取数字并相加?
用公式从字符串中提取数字并相加,不使用辅助单元格。
=SUM(TEXT(LEFT(TEXT(MID(PHONETIC(A1:A5)&"M",ROW($1:$80),COLUMN($A:$FT)),),COLUMN($A:$FT)-1),"G/通用格式;-G/通用格式;0;!0")*ISERR(-MID(PHONETIC(A1:A5),ROW($1:$80)-1,2)))
在C6输入公式“=SUM(RIGHT(LEFT(A1,LEN(A1)-1),LEN(LEFT(A1,LEN(A1)-1))*2-LENB(LEFT(A1,LEN(A1)-1))),RIGHT(LEFT(A3,LEN(A3)-1),LEN(LEFT(A3,LEN(A3)-1))*2-LENB(LEFT(A3,LEN(A3)-1))),RIGHT(LEFT(A4,LEN(A4)-1),LEN(LEFT(A4,LEN(A4)-1))*2-LENB(LEFT(A4,LEN(A4)-1))),RIGHT(LEFT(A5,LEN(A5)-1),LEN(LEFT(A5,LEN(A5)-1))*2-LENB(LEFT(A5,LEN(A5)-1))),RIGHT(LEFT(A2,LEN(A2)-1),LEN(LEFT(A2,LEN(A2)-1))*2-LENB(LEFT(A1,LEN(A2)-1))-2))”,即可返回2271。
372,如红色单元格所示。
=sumspecial(A1:A5) 以下是该自定义函数的代码—— Option Explicit Function sumspecial(rng As Range) As Double If rng Is Nothing Then Exit Function Dim objRegExp As Object, k As Range Set objRegExp = CreateObject("VBScript。
RegExp") With objRegExp 。Pattern = "[\u4e00-\u9fa5]|[A-Za-z]" 。Ignorecase = True 。Global = True For Each k In rng sumspecial = sumspecial + Val(。
Replace(k。Value, "")) Next End With Set objRegExp = Nothing End Function 要适用不同的提取需求,只需要改变 。Pattern = "[\u4e00-\u9fa5]|[A-Za-z]" 中的正则表达式就可以了。
答:公式如下: =(MID(A2,1,FIND("*",A2)-1)+MID(A2,FIND("*",A2)+1,FIND("*",A2,FIND("*",A2)+...详情>>