0

我有一个工作表,我正在尝试基于 =TODAY() 连接动态文本值

所以我有 B3:B1000 是用户将输入文本的字段。D3:D1000 是用户输入他们填写日期的地方。I3 是 =TODAY()

如何根据 D3:D1000 中的日期 = I3 连接 B3:B1000 中的文本值?并且该连接是否总是基于 I3 更新?

我还需要一个分隔符“,”

4

1 回答 1

0

经过一些跟踪和错误以及更深入的搜索后,它开始工作了:)

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) 结束函数

然后使用这个连接函数 =ConcatenateIf(D3:D1000,I3,B3:B1000,", ")

于 2016-06-22T00:01:07.180 回答