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

2025-06-28 05:08:02
推荐回答(3个)
回答1:

提取第一个冒号后的数字=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)

回答2:

自定义函数可以吗?

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

回答3:

=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,并把四个公式相加。