查找范围内顶部单元格的所有匹配项和 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
嗨,
我正在尝试查找每个月(例如 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