根据行标题和数据获取Excel列标题

根据行标题和数据获取Excel列标题,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,在这里尝试做一些我认为应该相对容易的事情,如果不是在周一这么早的话……我有一个表,每行包含用户数据——基本上是谷歌表单数据。我需要的是使用用户数据和表数据来获取标题行。表示例: EmployeeID Response1 Response2 Response3 123 1 2 3 234 2 1 3 987 3 1 2

在这里尝试做一些我认为应该相对容易的事情,如果不是在周一这么早的话……我有一个表,每行包含用户数据——基本上是谷歌表单数据。我需要的是使用用户数据和表数据来获取标题行。表示例:

EmployeeID  Response1  Response2 Response3
123             1          2         3
234             2          1         3
987             3          1         2
我试图构建的是一个不同的表,其中显示:

EmployeeID  Rank1      Rank2      Rank3
123         Response1  Response2  Response3
234         Response2  Response2  Response3
987         Response2  Response3  Response1
第二张工作表有一个引用第一张工作表的员工ID列表

我认为index/match的一些变体应该可以做到这一点,但是match函数的变量行有问题


感谢您的帮助

以下应该可以解决您的问题:

=INDEX($A$1:$D$4,1,MATCH(COLUMNS($G2:G2),$A2:$D2,0))

第一个表格位于单元格A1:D4中,第二个表格位于单元格F1:I4中。上面的公式是G2中的公式,可以复制到其他单元格中。

以下内容应该可以解决您的问题:

=INDEX($A$1:$D$4,1,MATCH(COLUMNS($G2:G2),$A2:$D2,0))

第一个表格位于单元格A1:D4中,第二个表格位于单元格F1:I4中。上面的公式是G2中的公式,可以复制到其他单元格。

我很好奇,如果没有与源单元格顺序相同的项目列表,该怎么做。我的结局是:

=INDEX($B$1:$D$1;SUMPRODUCT(($B$2:$D$100=COLUMN(B$2)-1)*($A$2:$A$100=$K2)*({1,2,3})))

其中数据表是A1:D100(为了看看它是如何重新计算的,就把它放大了一点),K2是输出表中的第一个EmployeeID。我想这并不是最理想的,但它可以处理混杂的员工ID列表。

我很好奇,如果您没有与源ID顺序相同的项目列表,该如何处理。我的结局是:

=INDEX($B$1:$D$1;SUMPRODUCT(($B$2:$D$100=COLUMN(B$2)-1)*($A$2:$A$100=$K2)*({1,2,3})))
其中数据表是A1:D100(为了看看它是如何重新计算的,就把它放大了一点),K2是输出表中的第一个EmployeeID。我想这并不是最理想的,但它可以处理混杂的员工ID列表