兰色幻想 发表于 2011-5-10 10:47

有奖练习:提取字符串中的数字并求和

本帖最后由 兰色幻想 于 2011-5-12 05:44 编辑

         这是一个老题,难度不算太高,但在字符串处理中算是较高难度的了。也是考察你耐心的一个题目。大家都做一下吧。提供正确答案奖励15-30经验值。
         题目:
             提取A列字符串的数字(可能含小数),然后进行求和。具体如下图所示:
            

      本题设置仅作者可见,两天后公开。回贴不需要设置回贴可见。
         

JLxiangwei 发表于 2011-5-10 11:06

本帖最后由 JLxiangwei 于 2011-5-10 11:09 编辑

回复 兰色幻想 的帖子

=SUM(TEXT(LEFT(TEXT(MID(A2&"A",ROW($1:$26),COLUMN(A:Z)),),COLUMN(A:Z)-1),"0.00;0;0;!0")*ISERR(-MID(A2,ROW($1:$26)-1,2)))

殘剑 发表于 2011-5-10 12:35

Function Msum(str As String)
Dim matchs, match
With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "\d+\.?\d*"
    Set matchs = .Execute(str)
    For Each match In matchs
      Msum = Msum + Val(match)
    Next
End With
End Function函数不会,让兰校长见笑了

蝶·舞 发表于 2011-5-10 12:43

=SUMPRODUCT(TEXT(LEFT(TEXT(MID(A2&"A",ROW($1:$99),COLUMN($A:$P)),),COLUMN($A:$P)-1),"0%;-0%;0;!0")*ISERR(-MID(A2,ROW($1:$99)-1,2)))

lisachen 发表于 2011-5-10 14:04

wjh619993018 发表于 2011-5-10 15:22

=SUM(TEXT(MID(A2&"a",ROW($1:$25),COLUMN(B:Z)),"!0;;0;!1")*TEXT(MID(A2&"a",ROW($1:$25),COLUMN(A:Y)),"G/通用格式;;0;!0")*TEXT(0&MID("a"&A2,ROW($1:$25),1),"!0;;0;!1"))

wuxingai 发表于 2011-5-10 15:28

{:011:}{:011:}

chunlin1wang 发表于 2011-5-11 08:49

=SUM(MOD(LARGE(TEXT(MID(A2,IF((MID(A2&"a",ROW($1:$99),1)<="9")*(MID("a"&A2,ROW($1:$99),1)>"9"),ROW($1:$99),99),COLUMN(A:J)),"G/通用格式;0;0;\0")+ROW($1:$99)/1%%%,ROW($1:$99)*10-9),10^6))

兰色幻想 发表于 2011-5-12 05:44

仅作者可见已解开

liuts 发表于 2011-5-13 07:50

标记学习{:011:}
页: [1] 2
查看完整版本: 有奖练习:提取字符串中的数字并求和