例如我的单元格包含T 6.5我想查找包含T的行中的所有单元格,并添加该单元格中也包含的数字的值。
答案 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”的剩余数值相加。
希望这有助于或指出正确的方向。
干杯!