将 3 列 {x, y, value} 的表转换为矩阵表

将 3 列 {x, y, value} 的表转换为矩阵表

假设我们有一张输入表:

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),"")}

在哪里yearsnumbersdata_to_plot是指向源范围的第一、第二和第三列的命名范围(如下面的屏幕截图所示)。您不必使用命名范围,但它会使编写/编辑公式变得更容易。

在此处输入图片描述

在上面的例子中,请注意参考(哪些是相对/绝对的)和范围以及它们指向的位置。

--
1 必须使用 ++ 提交Ctrl/Shift输入Enter然后将其复制到“矩阵”表的行/列中。

相关内容