如何使用每个单元格的“坐标”值在 Excel 中创建数组?

如何使用每个单元格的“坐标”值在 Excel 中创建数组?

抱歉,这很简单,但我似乎无法让它工作。我有一列值,比如从 A2 到 A10,还有一行值,比如从 B1 到 P1。我想使用引用数组中每个单元格的“x 坐标”和“y 坐标”中的值的公式来填充从 B2 到 P10 的数组值:例如,要填写 C5,我需要引用 A5 和 C1 中的“轴”值。(如果我的公式是简单的乘法,这将给出一个乘法表)。

我无法让每列保持从 B1 到 P1 的每个“列坐标”不变,也无法让每行保持从 A2 到 A10 的每个“行坐标”不变。我肯定漏掉了什么。谢谢您的帮助。

答案1

您需要在一个引用中使列绝对,并在另一个引用中使行绝对。

在您的乘法表示例中:

=$A2*B$1

这将进入 B2。

现在,当它被拖拽/复制到字段时,正确的列和行将保持绝对值($),而其他的将会改变。

答案2

如果SPILL您的 Excel 版本具有功能(“动态数组”),则可以执行以下操作,而不需要复制到其他单元格:

=A2:A10*B1:P1

{CSE}除非您的版本没有该SPILL功能,否则无需输入。

这还具有以下好处:可以将整个数组作为动态数组进行寻址,而不是在其他公式中通过地址(B2#而不是B2:P10)进行寻址。我提到这一点并不是因为它更容易编写或诸如此类,而是因为某些函数在动态范围上的操作与直接寻址范围不同(有利的是“不同”)。它们的输出不同……不仅仅是自动调整寻址的内容之类的事情。

就我个人而言,几十年来,我一直避免使用{CSE}这种方法,而是使用Scott Craner复制粘贴来填充,因为这种{CSE}方法有我不喜欢的缺点。(那个会嘲笑你合并两个单元格的人会用公式锁定 10,000 个单元格{CSE}!天哪……)但这种方法偶尔会有好处,可能对你需要它做什么很重要,所以你可以走那条路。只是不能建议。

相关内容