我正在努力学习Excel公式,希望有人能帮助我。
这是我想要做的。我有以下几行:
|3RO|5R|10RO| |3P|
我想在“RO”字符串之前添加所有数字,而不包含R或空格或P。
在这种情况下,我想要的结果是:13(3 + 10)
我有以下内容:
=SUMPRODUCT(NUMBERVALUE(SUBSTITUTE(A1:D1,"RO","")))
如果我只有空的或RO包含单元格,那么这是有效的,但如果我有一个“5R”值,当然不起作用
所以我想首先检查单元格值是否包含“RO”,然后解析并添加
我试过
=SUMPRODUCT((RIGHT(A1:E1,2)="RO")*(NUMBERVALUE(LEFT(A1:E1,FIND("RO",;A1:E1)-1))))
但它也不起作用。
有人可以帮忙吗?
谢谢,
(我希望公式是正确的,我正在将它们从法语“翻译”......)
基本上需要检查/解析/总结一个...谢谢:)
答案 0 :(得分:0)
首先将此用户定义函数放在标准模块中:
Public Function NumPart(rng As Range)
Dim r As Range, CH As String
Dim temp As String, K As Long
Dim arr, L As Long, i As Long
ReDim arr(1 To 1, 1 To rng.Count)
K = 1
For Each r In rng
v = r.Text
L = Len(v)
temp = ""
For i = 1 To L
CH = Mid(v, i, 1)
If CH Like "[0-9]" Then
temp = temp & CH
End If
Next i
arr(1, K) = CLng(temp)
K = K + 1
Next r
NumPart = (arr)
End Function
(它将混合文本的值返回为Long)
然后在某个单元格中输入:
=SUMPRODUCT(numpart(A1:D1)*(RIGHT(A1:D1,2)="RO"))
答案 1 :(得分:0)
编辑:如果您想将其作为一个公式,那么您可以使用以下内容:
`=SUM(VALUE(IFERROR(LEFT(C3:F3,IFERROR(SEARCH("RO",C3:F3),0)-1),0)))`
这里我的范围是C3:F3,但你的范围是数字出现的范围。还要确保用CTRL SHFIT ENTER设置公式。