Excel formula 仅当至少有5个元素时,数字数组的总和,在1个单元格中用逗号分隔 我需要同一单元格中元素数组的和 它们之间用逗号分隔 如果有
我在这里问了一个类似的问题: 但您还有一个附加要求,因此请尝试以下用户定义的函数:Excel formula 仅当至少有5个元素时,数字数组的总和,在1个单元格中用逗号分隔 我需要同一单元格中元素数组的和 它们之间用逗号分隔 如果有,excel-formula,Excel Formula,我在这里问了一个类似的问题: 但您还有一个附加要求,因此请尝试以下用户定义的函数: Public Function SumWithin(s As String) As Variant If s = "" Then SumWithin = "" Exit Function End If If InStr(1, s, ",") = 0 Then SumWithin = "" Exit Function
Public Function SumWithin(s As String) As Variant
If s = "" Then
SumWithin = ""
Exit Function
End If
If InStr(1, s, ",") = 0 Then
SumWithin = ""
Exit Function
End If
arry = Split(s, ",")
If UBound(arry) < 4 Then
SumWithin = ""
Exit Function
End If
For Each a In arry
SumWithin = SumWithin + CDbl(a)
Next a
End Function
公共函数suminin(作为字符串)作为变量
如果s=”“,则
suminin=“”
退出功能
如果结束
如果InStr(1,s,“,”)=0,则
suminin=“”
退出功能
如果结束
arry=拆分(s,“,”)
如果UBound(arry)<4,则
suminin=“”
退出功能
如果结束
每到一个月
SUMININ=SUMININ+CDbl(a)
下一个
端函数
一些例子:
这种方法避免了典型的文本到列方法所需的所有额外单元格。
在没有VBA的情况下,可以做到这一点,但它涉及数组公式。您可以使用名称管理器(Ctrl+F3)诱使excel将列表作为数组读取,我称我的命名范围为“valueArray”:
=EVALUATE(“{”和SUBSTITUTE(Sheet1!$A2,“,”)&“}”)
请注意,row参数没有绝对引用,它从与数据相同的行开始(以正确对齐数组的首次使用)
你可以参考Sheet1$A2
直接包装在EVALUATE()
和花括号中,但已使用SUBSTITUTE()
确保数据不会被空格破坏
现在您已经拥有了数组,可以轻松地对其执行逻辑操作,如果在预期结果时抛出错误或单元格为空,则很可能其中一个值没有解析为数字(其中可能有一两个字母):
=IF(COUNT(valueArray)>4,SUM(valueArray),“”)
你好。我是个新手,所以我把数字数组分割成不同的单元格。然后我用求和公式把它们加起来,但我是手工做的。ie:我跳过没有5个元素的单元格。正如我所说,我相信一定有办法。非常感谢
Public Function SumWithin(s As String) As Variant
If s = "" Then
SumWithin = ""
Exit Function
End If
If InStr(1, s, ",") = 0 Then
SumWithin = ""
Exit Function
End If
arry = Split(s, ",")
If UBound(arry) < 4 Then
SumWithin = ""
Exit Function
End If
For Each a In arry
SumWithin = SumWithin + CDbl(a)
Next a
End Function