0

你好,

我正在尝试在每个月(例如 12 月、1 月等)中查找所有出现的值(例如我的示例屏幕截图中的 cat)并收集它发生的所有天数(例如 1、4)。然后我需要为其他值(例如马、狗等)这样做

该值可能会出现在单元格区域中,也可能不会出现,如果确实出现,它一天只会出现一次。

工作表截图

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

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

12 月 1 日 4

1月2日

十二月

1月1日

12 月 3 日 4

我只需要知道如何收集日子。

谢谢。

4

1 回答 1

0

如果下面的列有 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

在此处输入图像描述

于 2017-12-06T03:30:26.163 回答