EXCEL中怎么设置混合有文字的数字相加

990052285

包含文字的数字是无法直接相加的,需要先将数字部分提取出来在相加求和。根据数字所在单元格文本字符串位置的不同,可以使用MID函数或MIDB函数、RIGHT函数或RIGHTB函数、LEFT函数或LEFTB函数来进行提取。


    MID 或MIDB 用途:MID 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。MIDB返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。MIDB函数可以用于双字节字符。 

    语法:MID(text,start_num, num_chars)或MIDB(text, start_num,num_bytes)。 

    参数:Text 是包含要提取字符的文本串。Start_num 是文本中要提取的第一个字符的位置,文本中第一个字符的start_num 为1 ,以此类推;Num_chars指定希望MID 从文本中返回字符的个数;Num_bytes指定希望MIDB 从文本中按字节返回字符的个数。

    实例:如果a1=电子计算机,则公式“=MID(A1,3,2)” 返回“计算”,=MIDB(A1,3,2)返回“子”。 


    RIGHT 或RIGHTB 用途:RIGHT 根据所指定的字符数返回文本串中最后一个或多个字符。RIGHTB根据所指定的字节数返回文本串中最后一个或多个字符。 

    语法:RIGHT(text,num_chars),RIGHTB(text,num_bytes) 。

    参数:Text 是包含要提取字符的文本串;Num_chars 指定希望RIGHT 提取的字符数,它必须大于或等于0。如果num_chars 大于文本长度,则RIGHT 返回所有文本。如果忽略num_chars, 则假定其为1。Num_bytes 指定欲提取字符的字节数。 

    实例:如果A1=学习的革命,则公式“=RIGHT(A1,2)”返回“革命”,=RIGHTB(A1,2)返回“命”。 


    LEFT 或LEFTB用途:根据指定的字符数返回文本串中的第一个或前几个字符。此函数用于双字节字符。

    语法:LEFT(text,num_chars)或LEFTB(text, num_bytes)。 

    参数:Text 是包含要提取字符的文本串;Num_chars指定函数要提取的字符数,它必须大于或等于0。Num_bytes按字节数指定由LEFTB 提取的字符数。 

    实例:如果A1=电脑爱好者,则LEFT(A1,2)返回“电脑”,LEFTB(A1,2)返回“电”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-02
Function mysum(aa As Range)
    Set reg = CreateObject("VBSCRIPT.REGEXP")
    reg.Global = True
    reg.Pattern = "\d+"
    For Each a In aa
        Set mc = reg.Execute(a)
        For i = 0 To mc.Count - 1
            kk = kk & mc.Item(i)
        Next
        bb = bb + Val(kk)
        kk = ""
    Next
    mysum = bb
End Function

自定义函数

假如你要求的数据是在A1:E1,那么输入公式=mysum(A1:E1)就可以得出结果

本回答被提问者采纳
第2个回答  2013-09-02
H3数组公式:
=SUM(-TEXT(RIGHT(TEXT(RIGHT(TRANSPOSE(LEFT(B3:F3,FIND("元",B3:F3)-1)),COLUMN(A:G)),),COLUMN(A:G)-1),"-0;;0;\0"))
按CTRL+SHIFT+回车键结束公式即可。
第3个回答  2013-09-02
提取数字求和!