查找范围内顶部单元格的所有匹配项和 return 值

Find all occurrences and return value of the top cell in a range

嗨,

我正在尝试查找每个月(例如 12 月、1 月等)出现的所有值(例如我的示例屏幕截图中的 cat),并收集它出现的所有日期(例如 1、4)。然后我需要对其他值(例如马、狗等)执行此操作

该值可能会出现在单元格范围内,也可能不会出现,即使出现也一天只出现一次。

Screenshot of worksheet

我已经尝试了 index() 和 match() 的数组公式,但无法让我的头脑开始工作。

我试图在另一个工作表上实现的结果是:

12 月 1 4 日

1 月 2 日

十二月

1 月 1 日

12 月 3 日 4 日

一月

我只需要知道如何收集天数

谢谢。

修改来自Concatenate top row cells if column below has 1的UDF代码。

Option Explicit

Public Function conditional_concat(rSTRs As Range, rCRITs As Range, sCRIT As String, _
                                   sLBL As String, Optional sDELIM As String = ", ")
    Dim c As Long, sTMP As String
    For c = 1 To rCRITs.Cells.Count
        If LCase(rCRITs(c).Value2) = LCase(sCRIT) Then _
            sTMP = sTMP & sDELIM & rSTRs.Cells(1, rCRITs(c).Column).Value
    Next c
    conditional_concat = sLBL & Chr(32) & Mid(sTMP, Len(sDELIM) + 1)
End Function