将 table 转入交叉引用 table

Pivot table into cross reference table

我有一份学生名单,他们被分配到 4 个不同的小组,为期 3 周或更长时间。这是 table.

student week 1 week 2 week 3
A 1 4 2
B 2 2 1
C 3 4 4
D 4 3 3
E 1 1 2
F 2 2 1
G 3 1 4
H 4 3 3
I 1 1 2
J 2 2 1

我想调整 table 并查看一个学生与小组中的另一个学生合作的次数。 比如A同学和J同学合作过两次,B同学和F同学合作过3次,而B和C从来没有合作过。

如何在 excel 中生成枢轴 table,如下所示?下面 table 中的值显示一个学生与另一个学生在同一组中的次数。

FIELD1 A B C D E F G H I J
A - 2 2 2
B - - 3 3
C - - - 2
D - - - - 2
E - - - - - 2
F - - - - - - 3
G - - - - - - -
H - - - - - - - -
I - - - - - - - - -
J - - - - - - - - - -

在G2中输入这个公式,然后向下复制。它应该适用于 Excel 的大多数版本,但在非 365 版本中可能需要作为数组公式输入。

=IF(ROW(A1)>=COLUMN(A1),"-",
SUM(--(INDEX($B:$D,MATCH($F2,$A:$A,0),0)=INDEX($B:$D,MATCH(G,$A:$A,0),0))))

同意@EEM 的观点,这很容易受到插入和删除的影响,也许像这样更安全:

=IF(ROW()-ROW($G)>=COLUMN()-COLUMN($G),"-",
SUM(--(INDEX($B:$D,MATCH($F2,$A:$A,0),0)=INDEX($B:$D,MATCH(G,$A:$A,0),0))))