以下excel表格不进行分列,该怎么对数字自动求和?

如题所述

提取第一个冒号后的数字=LOOKUP(E9+307,--LEFT(RIGHT(A1,LEN(A1)-2)))

提取第二个冒号后的数字=LOOKUP(E9+307,--RIGHT(A1,ROW($1:$1000)))

四个加一块即可。关键是有空格,需要用isnumber判断是数字还是错误。

E1=IF(ISNUMBER(LOOKUP(9E+307,--LEFT(RIGHT(A1,LEN(A1)-2),ROW($1:$20)))),LOOKUP(9E+307,--LEFT(RIGHT(A1,LEN(A1)-2),ROW($1:$20))),0)+IF(ISNUMBER(LOOKUP(9E+307,--RIGHT(A1,ROW($1:$1000)))),LOOKUP(9E+307,--RIGHT(A1,ROW($1:$1000))),0)+IF(ISNUMBER(LOOKUP(9E+307,--LEFT(RIGHT(B1,LEN(B1)-2),ROW($1:$20)))),LOOKUP(9E+307,--LEFT(RIGHT(B1,LEN(B1)-2),ROW($1:$20))),0)+IF(ISNUMBER(LOOKUP(9E+307,--RIGHT(B1,ROW($1:$1000)))),LOOKUP(9E+307,--RIGHT(B1,ROW($1:$1000))),0)+IF(ISNUMBER(LOOKUP(9E+307,--LEFT(RIGHT(C1,LEN(C1)-2),ROW($1:$20)))),LOOKUP(9E+307,--LEFT(RIGHT(C1,LEN(C1)-2),ROW($1:$20))),0)+IF(ISNUMBER(LOOKUP(9E+307,--RIGHT(C1,ROW($1:$1000)))),LOOKUP(9E+307,--RIGHT(C1,ROW($1:$1000))),0)+IF(ISNUMBER(LOOKUP(9E+307,--LEFT(RIGHT(D1,LEN(D1)-2),ROW($1:$20)))),LOOKUP(9E+307,--LEFT(RIGHT(D1,LEN(D1)-2),ROW($1:$20))),0)+IF(ISNUMBER(LOOKUP(9E+307,--RIGHT(D1,ROW($1:$1000)))),LOOKUP(9E+307,--RIGHT(D1,ROW($1:$1000))),0)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-02

自定义函数可以吗?

Function sm(rng As Range)
    For Each cl In rng
        arr = Split(cl, " ")
        For i = 0 To UBound(arr)
            brr = Split(arr(i), ":")
            sm = sm + brr(1) * 1
        Next
    Next
End Function

追问

不自定义不行吗?

追答

太麻烦,很长一串,就是find空格和冒号来取值

本回答被提问者采纳
第2个回答  2015-07-05
=IF(A1="",0,MID(A1,SEARCH(":",A1,1)+1,SEARCH(" ",A1,1)-SEARCH(":",A1,1)-1)+MID(A1,SEARCH(":",A1,4)+1,3))
如果要求四个单元格的和的话,把公式中的A1分别改为B1,C1,D1,并把四个公式相加。