此引用的副本要求公式。该人明确表示没有VBA。
我正在寻找一个像内置CONCATENATE()
函数一样执行连接的函数,但条件如COUNTIF()
。
我正在寻找一个简单的VBA功能。其他答案是复杂的公式。
这样的事情是否存在?
这个问题已经创建,并且在搜索中很容易找到。这个想法是为了帮助其他人阅读许多其他问题和答案,而不是找到他们需要的答案。
答案 0 :(得分:0)
这是一个名为ConcatenateIF()的VBA函数,它与COUNTIF()的工作方式类似。
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, _
ConcatenateRange As Range, Optional Separator As String = ",") As Variant
Dim i As Long
Dim strResult As String
On Error GoTo ErrHandler
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
strResult = strResult & Separator & ConcatenateRange.Cells(i).Value
End If
Next i
If strResult <> "" Then
strResult = Mid(strResult, Len(Separator) + 1)
End If
ConcatenateIf = strResult
Exit Function
ErrHandler:
ConcatenateIf = CVErr(xlErrValue)
End Function