假设我们有一张输入表:
1980, 5, H
1980, 7, H
1980, 11, C
1981, 1, W
...
我们如何将其转换为新的表格:
1 2 3 4 5 6 7 8 9 10 11 12
1980 H H C
1981 W...
答案1
假设您的示例数据位于单元格 A2:A5 中,结果表位于单元格 A7:M9 中,则在单元格 B7 中输入以下数组公式,然后复制到 M 列并向下复制到第 9 行,将产生所需的结果。该公式假设在单元格 C1 中输入了一个空字符串 ("'")。如果数据范围内有更多行,您需要将术语 ROW($1:$4) 调整为实际数据行数。
=OFFSET($C$1,SUM(($A8=$A$2:$A$5)*(B$7=$B$2:$B$5)*ROW($1:$4)),0)
因为它是一个数组公式,所以必须使用Control- Shift-Enter组合键输入。
答案2
如果每个年份数字对都是唯一的,则可以使用数组公式绘制数据1在你的桌子上。
{=IFERROR(OFFSET($C$1,SUM((years=$E2)*(numbers=F$1)*ROW(data_to_plot))-1,0,1,1),"")}
在哪里years
,numbers
和data_to_plot
是指向源范围的第一、第二和第三列的命名范围(如下面的屏幕截图所示)。您不必使用命名范围,但它会使编写/编辑公式变得更容易。
在上面的例子中,请注意参考(哪些是相对/绝对的)和范围以及它们指向的位置。
--
1 必须使用 ++ 提交Ctrl/Shift输入Enter然后将其复制到“矩阵”表的行/列中。