根据 excel 中的条件连接动态文本值
Concatenate dynamic text values based on criteria in excel
我有一个工作表,我正在尝试根据 =TODAY()
连接动态文本值
所以我将 B3:B1000 作为用户输入文本的字段。 D3:D1000 是用户输入他们填写的日期的地方。I3 是 =TODAY()
如何根据 D3:D1000 = I3 中的日期连接 B3:B1000 中的文本值?并且该串联是否始终基于 I3 更新?
我还需要一个分隔符“,”
经过一些尝试和错误以及更深入的搜索后,它开始工作了:)
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
错误处理程序:
ConcatenateIf = CVErr(xlErrValue)
结束函数
然后使用这个连接函数 =ConcatenateIf(D3:D1000,I3,B3:B1000,", ")
我有一个工作表,我正在尝试根据 =TODAY()
连接动态文本值所以我将 B3:B1000 作为用户输入文本的字段。 D3:D1000 是用户输入他们填写的日期的地方。I3 是 =TODAY()
如何根据 D3:D1000 = I3 中的日期连接 B3:B1000 中的文本值?并且该串联是否始终基于 I3 更新?
我还需要一个分隔符“,”
经过一些尝试和错误以及更深入的搜索后,它开始工作了:)
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
错误处理程序: ConcatenateIf = CVErr(xlErrValue) 结束函数
然后使用这个连接函数 =ConcatenateIf(D3:D1000,I3,B3:B1000,", ")