当它们包含数字和字母时,如何添加一系列单元格的总值?

时间:2014-08-01 14:44:46

标签: excel-2010

例如我的单元格包含T 6.5我想查找包含T的行中的所有单元格,并添加该单元格中也包含的数字的值。

2 个答案:

答案 0 :(得分:0)

以下是行#7

的示例
Sub SumARow()
    Dim roww As Long, r As Range, _
        Zum As Double, v As Variant
    roww = 7
    For Each r In Cells(roww, 1).EntireRow.Cells
        v = CStr(r.Value)
        If InStr(1, v, "T") > 0 Then
            Zum = Zum + GetNumber(v)
        End If
    Next r
    MsgBox Zum
End Sub

Public Function GetNumber(s As Variant) As Double
    Dim msg As String, i As Long
    GetNumber = 0
    msg = ""
    For i = 1 To Len(s)
        ch = Mid(s, i, 1)
        If ch Like "[0-9]" Or ch = "." Then
            msg = msg & ch
        End If
    Next i
    If msg = "" Then Exit Function
    GetNumber = CDbl(msg)
End Function

答案 1 :(得分:0)

如果您不介意数据下方有一行来帮助解决问题,我建议您使用以下内容作为快速解决方案。

假设您的数据位于第1行(从单元格A1开始),请在第2行(单元格A2)中插入以下公式,并将其复制到右侧,只要您在第1行中有数据。

=IF(IFERROR(SEARCH("T ",A1),0)<>0,VALUE(SUBSTITUTE(A1,"T ","")),0)

从那里你可以使用这个来累加第2行的值:

=SUM(2:2)

请注意,我假设在上面的示例中“T”之后有一个空格,并且这明确包含在上面的第一个公式中。它只是从单元格中删除该文本,并将第1行中的单元格中包含“T”的剩余数值相加。

希望这有助于或指出正确的方向。

干杯!