Excel 365:基于上述值的数组公式(复合)

Excel 365:基于上述值的数组公式(复合)

我正在尝试根据单元格上方单元格的值在单元格中执行操作。以“正常”的 Excel 方式执行此操作非常简单。但是,我正在使用数组功能,并希望使用数组执行此操作。一个简单的例子是复合

看起来 A 列和 B 列应该相同,因为实际上不存在循环引用。有什么方法可以解决这个问题吗?

在此处输入图片描述

答案1

请检查以下公式是否对您有帮助。在单元格 B2 中:

=POWER(1.1,SEQUENCE(10))

您也可以尝试=POWER(1.1,SEQUENCE(10)-1)在单元格 B1 中替换数字 1。

在此处输入图片描述
如有误解,请告知我。

答案2

与图片中所展示的并不完全一致。

您实际上并没有说明是什么促使您提出这个问题,但从您的图片来看,您可能会发现一个明显的问题,那就是 Excel 告诉您您创建了一个循环引用循环,或者在 B2 中给出“0”而下面没有给出任何内容。第一种情况不太可能出现,但搜索互联网可能会告诉您在 B2 中输入“0”而下面没有给出任何内容意味着循环引用。

既然您已经这样做了,我想他们是对的,嗯?

您无法使该方法奏效。即使您在单元格 B1 中输入“1”,然后在 B2 中输入公式(假设=B1:B9*1.1B2 将引用 B1,依此类推,这样就不会产生循环引用),它仍然会失败,因为它的工作原理并非如此。

您需要做的是给 Excel 一些帮助。您实际上并没有创建循环引用“仅此而已”……您只是设置了一些内容,以便 Excel 无法确定您真正想要的是什么。它必须考虑您得到的结果(但永远看不到)以及您想要做您似乎想要做的事情的想法。因为它无法弄清楚您想要什么,而且它们是不同的,所以它会停止并告诉您存在循环引用,或者只是在 B2 中输入“0”而不执行任何其他操作。

稍微改变一下公式的输入方式,Excel 就能解决所有问题。将范围放在括号中: (B1:B8)如下所示,而不是不放在括号中:

=(B1:B9)*1.1

在 B2 中输入此值,它将溢出到 B2:B10。因此,略有不同,但这种细微的差异造成了完全不同的结果。现在 Excel 确切地知道您想要什么,没有任何歧义,因此它不会犹豫要显示什么,直到计算引擎继续前进,什么都不留下。

记住这个细节,当公式似乎不需要括号时,却使用了括号。括号的用量之大,令人难以置信。记住这一点,当您尝试某种方法时,它不起作用,并且您验证了所有操作似乎都是帮助站点所说的那样,您可能会记住这一点并尝试它。很多时候它都会起作用。任何时候,一个表达式应该干净地求值但却没有,无论是像现在这样的简单范围,还是完整的 3-4 英寸公式,将逻辑块放在括号中通常会将错误返回更改为真实值,或者取一个返回值并根据需要将其替换为完整的 SPILL 数组。

相关内容