我是一群学生组织活动的负责人。在图片中你看到3个表格:首先,与人员及其工作时间的活动将在活动中完成工作其次是人数……
如果您对Office 365 Excel有一个子写入,那么像这个数组公式:
=TEXTJOIN(",",TRUE,IF($B2:$D2=I1,$B$1:$D$1,""))
作为数组公式,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果正确完成,那么Excel将放置 {} 围绕公式。
{}
的 如果您没有订阅Office 365 Excel 强>
然后将此代码放在附加到工作簿的模块中,并使用上述公式:
Function TEXTJOIN(delim As String, skipblank As Boolean, arr) Dim d As Long Dim c As Long Dim arr2() Dim t As Long, y As Long t = -1 y = -1 If TypeName(arr) = "Range" Then arr2 = arr.Value Else arr2 = arr End If On Error Resume Next t = UBound(arr2, 2) y = UBound(arr2, 1) On Error GoTo 0 If t >= 0 And y >= 0 Then For c = LBound(arr2, 1) To UBound(arr2, 1) For d = LBound(arr2, 1) To UBound(arr2, 2) If arr2(c, d) <> "" Or Not skipblank Then TEXTJOIN = TEXTJOIN & arr2(c, d) & delim End If Next d Next c Else For c = LBound(arr2) To UBound(arr2) If arr2(c) <> "" Or Not skipblank Then TEXTJOIN = TEXTJOIN & arr2(c) & delim End If Next c End If TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim)) End Function
链接的IF():
=LEFT(IF($B2=I1,$B$1 & ",","") & IF($C2=I1,$C$1 & ",","") & IF($D2=I1,$D$1 & ",",""),LEN(IF($B2=I1,$B$1 & ",","") & IF($C2=I1,$C$1 & ",","") & IF($D2=I1,$D$1 & ",",""))-1)