EXCEL:单元格中的数组。如何取回数组?

joe*_*hua 4 arrays excel excel-formula

假设我在 B2 中有公式=ROW(A1:A3)。这个公式给出了一个数组{1;2;3}。因为一个单元格只保存一个值,所以单元格B2显示的值为1。工作表中的任何位置,公式=B2给出1,而不是数组。但是,Excel 仍然记得该数组,因为公式仍在B2.

有什么方法可以让数组返回,以便整个数组,而不是它的单个元素,可以用于进一步操作?我正在寻找类似的东西OPERATION(B2) = {1;2;3}。例如,SUMPRODUCT(OPERATION(B2)) = SUMPRODUCT(ROW(A1:A3)) = 6

在此处输入图片说明

Jus*_* MK 7

作为解决方法,您可以将公式存储在名称管理器中,例如:

在此处输入图片说明

然后您可以将其用作 Excel 公式中的参考,例如=INDEX(Rows,2,1)

在此处输入图片说明

  • 下面 Scott Craner 的答案正是我正在寻找的,一个可以直接使用单元格地址来获取数组的函数。不幸的是,Excel 2010 中不存在该功能。对于我的 Excel 版本,您的答案已经尽可能接近了。 (2认同)

Sco*_*ner 5

我意识到这不是 OP 问题的答案,因为他们没有最新的 Office 365。我把它放在这里,供以后来的人使用。


使用带有动态数组公式的最新 Office 365,此问题现已消失。

放置=ROW(1:3)或等效的动态数组公式=SEQUENCE(3)Excel 将自动向下溢出数组,而无需Ctrl- Shift- Enter

在此处输入图片说明

现在可以通过仅A1通过#在引用后放置来引用来引用数组:

=SUM(A1#)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

那么无论数组中的数组如何A1更改,其他公式都不需要更改。

需要注意的是,A1 中的公式需要有溢出的空间。如果有一个单元格中包含任何位于溢出数组中的内容,它将返回一个错误。