提取第一个冒号后的数字=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)
自定义函数可以吗?
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
=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,并把四个公式相加。