十一、隐式交集运算符@
一般情况下,它返回数组左上角的值。

如果没有@,则会返回数组,如下例。

注意下面的例子,在D1,D2,D3和B5中输入的公式完全一样,但是返回的值不同:其中D2,D3返回的是B2和B3,在B5返回的是错误信息。

再看看以下例子:


本运算符也可用于常量数组或者内存数组,比如下面的表达式返回1:
=@{1,2,3;4,5,6}
十二、INDEX函数
如果要返回数组中的指定元素,需使用INDEX函数。比如下面返回A2:B5中第4行第2列的元素:

=INDEX(A2:B5,4,2)
要返回所有行,就把参数2(上面公式里的4)设为0;要返回所有列,就把参数3(上面公式最后一个2)设为0:

要返回指定的行列,就用大括号标出来。下例返回A2:B5中的第1行第2列和第3行第2列。因为{1,3}中用的是逗号,所以两个数字排成一行,如果把{1,3}改成{1;3},则返回的数据不变,但排成一列。

注意看下面截图中大括号里的符号,以及所返回值的形式——这里返回A2:B5中的(1,1)和(3,2)两个元素。






逗号可以把几个数组合并起来,实际上我们早就这样做过了。


要返回第二块数据的第1列,可以用下面的表达式:

这里INDEX函数的最后一个参数表明了索引针对的哪一块数据,即返回A2:B5的第一列。
下面这样单独使用会出错误:

十五、溢出范围运算符#
下图中,D2:E4是一个动态数组公式,其中D1内容是=A2:B5,接下来只要在G1里写上=D1#就可以引用这个动态数组整个范围内的所有数据了。这样一来我们只要知道要引用的动态数组左上角单元格地址就可以,不必非得知道它溢出到哪里。
