具有不相邻单元格引用的公式中的数组常量



我需要在我的数组公式中添加一个不相邻单元格的数组。 我已经尝试了以下所有类似数组常量的方式,它们都给了我"此公式错误有问题"。

'Chart Data'!{A12:A14,D3:D11}
{'Chart Data'!A12:A14,'Chart Data'!D3:D11}
'Chart Data'!{A12,A13,A14,D3:D11}
{'Chart Data'!A12,'Chart Data'!A13,'Chart Data'!A14,'Chart Data'!D3:D11}
'Chart Data'!{A12,A13,A14,D3,D4,D5,D6,D7,D8,D9,D10,D11}
{'Chart Data'!A12,'Chart Data'!A13,'Chart Data'!A14,'Chart Data'!D3,'Chart Data'!D4,'Chart Data'!D5,'Chart Data'!D6,'Chart Data'!D7,'Chart Data'!D8,'Chart Data'!D9,'Chart Data'!D10,'Chart Data'!D11}

整个公式(数组常量位于 {#####} 所在的位置):

{=SUM(((1-References!M1:M12)*({#####}*(G3:G14+F3:F14-0.11)))+((References!M1:M12)*('Chart Data'!A12:A23*(G3:G14+F3:F14-0.11)))+((H2:H13*X3:X14)+(H3:H14*Y3:Y14)+(I2:I13*(V3:V14-X3:X14))+(I3:I14*(W3:W14-Y3:Y14))))}

我 100% 肯定是这个特定的数组常量导致了问题。 我无法移动我引用的单元格以使它们对齐。 甚至可以在数组公式中引用不相邻的范围吗?如果可能的话,我做错了什么?

有几种方法可以做到这一点。下面非常简单,非常直接,所以我最喜欢的。

要么选择一个单元格来为您的非连续数组构建字符串,要么创建一个命名范围来执行此操作。我将展示第一个,因为它似乎最好能够自由使用鼠标,但在它们中,您实际上都可以创造性地使用如何构建将成为数组的字符串。在命名区域中创建它的主要优点是没有帮助程序单元格在任何地方。

因此,您创建该字符串,然后将其设置为数组。假设您需要使用单元格 A12:A14 和 C3:C11 的非连续数组。您可以使用joiningTEXTJOIN()如下所示:

="{"&TEXTJOIN(",",FALSE,B12:B14,C3:C11)&"}"

以创建这些单元格中的值的文本字符串,这些单元格中用大括号 ({}) 括起来,就像键入它一样("硬编码它")。在这些单元格中具有正确的值时,它将如下所示:

{1,2,3,1,2,3,4,5,6,7,8,9}

但还不是一个数组。

现在这种方法的魔力。创建一个命名范围,可能称为String2Array,并为其指定一个公式:

=EVALUATE(A1)

(或用于上述公式的任何单元格,用于创建要成为数组的文本字符串)。使引用绝对。($A 1美元...它会为你做,只是不要把它编辑成相对的。如果您将其用于类似的工作,但需要相对的,那将正常工作,但这不是这里需要的。

现在将公式中的占位符替换为命名范围的名称(也许您确实使用了String2Array)。大功告成。

其他几种方法使用INDEX()CHOOSE(),您可以使用函数DOLLARDE()IMREAL()强制事物为数组(我在 2014 年的帖子中找到帮助网站),其他一些方法也做同样的事情。在那些日子里,人们也必须使用{CSE},但SPILL现在处理了这个问题(有两个看起来很奇怪的友谊赛和至少另外两个)。海报是我在这个网站上看到的人,EXCELXOR是网站的名字,XOR LX是这里成员的名字,尽管Lori的评论中提到了这些功能。由于他似乎涵盖了帮助网站通常没有涉及的方面,因此在这里或其他地方查找他的一些工作对某些人来说可能是值得的。

但是这种方法非常直接,因此易于维护。就我个人而言,我喜欢这样的想法,即EVALUATE()(必须在命名范围功能中使用,而不是单元格端)是不断给予的礼物,一件又一件非常有用的事情。

这么多种方式。您甚至可以在某处的帮助程序列/行中构建数组,并引用 THAT 而不是不连续的地址。我最喜欢joining+TEXTJOIN()方法,因为我可以使用鼠标轻松地将所有块放入公式中,因为它是一个 LIVE 公式。但是您也可以相当轻松地键入一个字符串并添加 {}。或者,也许用户会键入一串地址,然后像上面的公式一样添加它们。如果合适,您也可以将实际值(常量)插入到您正在构建的字符串中。你可以公式化地构建它...我不会首先从一堆选择中挑选出工作量,但如果你无论如何都要这样做,那么......或者如果它是一个小型构建。

最新更新