如何从表中返回列标题而不是筛选

我试图从一个表中分组数据。 这个表是build立在一个数据透视表上的,如果员工曾经在一个项目上工作过,那么返回的值就是1。

我试过Hlookup,vlookup …无法弄清楚。

表中的“1”值表示该人员在该特定项目上工作。 我需要一个公式来说,如果L.Bish =“1”,然后返回所有也等于“1”的名字

漫长的过程是过滤每个人的价值“1”下的表值,以找出其他团队成员是否与该人共事。

那么我就需要把这个公式应用到所有其他的团队成员,看看谁在一个项目上一直工作和没有一起工作。

任何帮助或指导将是伟大的

正如你所看到的,Bish已经与以下人员合作:Carl Good Etc.

表格如下:

表

我假设你有行和列的员工和项目,反之亦然。 如果您要“清理”桌面,则可以将其放回原点,然后按照您的要求进行分组。

看看我的Table2DB加载项在这里 。

在你的情况下,你可以简单地运行下面的macros,并根据你的新表创build一个透视

Sub UnPivot() Dim lLastCol As Long, lLastRow As Long Dim rgCell As Range, shtOrg As Worksheet, shtDest As Worksheet Dim lRowDest As Long 'turn off updates to speed up code execution With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual End With Set shtOrg = ActiveSheet lLastRow = Cells(Rows.Count, 1).End(xlUp).Row lLastCol = Cells(48, Columns.Count).End(xlToLeft).Column Set shtDest = Sheets.Add lRowDest = 2 shtDest.Cells(1, 1) = "Project" shtDest.Cells(1, 2) = "Employee" With shtOrg For Each rgCell In .Range(.Cells(49, 2), .Cells(lLastRow, lLastCol)).SpecialCells(xlCellTypeConstants) If rgCell.Value = 1 Then shtDest.Cells(lRowDest, 1) = .Cells(rgCell.Row, 1) shtDest.Cells(lRowDest, 2) = .Cells(48, rgCell.Column) lRowDest = lRowDest + 1 End If Next rgCell End With With Application .ScreenUpdating = True .EnableEvents = True .Calculation = xlCalculationAutomatic End With End Sub 

为了让那些不一起工作的人build立一个如下所示的表,并使用公式:= IF(COUNTIFS(OFFSET($ A $ 49:$ A $ 78,0,MATCH($ A2,$ 48:$ 48,0)) 1 ,,),1,OFFSET($ A $ 49:$ A $ 78,0,MATCH(B $ 1,$ 48:$ 48,0)-1 ,,),1)> 0, “没有符合”, “没有” ) & “ 一起工作”

在这里输入图像说明