雾里看花。
特征一:内存
内存数组有别于引用,有别于常量数组,它存在于内存之中,它不反映在工作表的单元格中,它不直接反映在单元格公式中,它不在我们的视觉范围内,我们看不见它。
内存数组有别于引用,有别于常量数组,内存数组是(不一定对)计算的结果,而这个结果,我们一般把它作中间变量使用,一般作Index()、small()、Min()等函数的参数使用。
特征二:数组
如何解释都好像是多余的,它在内存中存储方式是数组,有别于单值,作一个整体供调用,或作其它函数的参数,或作区域数组公式把结果显示在单元格中。
=index({1,2,3}+10,row(1:1))
公式中{1,2,3}是一个常量数组(在内存中应该也存在这个数组,常量数组应该也是内存数组),{1,2,3}+10的结果是一个内存数组,在编辑框中用选取{1,2,3}+10,按F9:
=INDEX({11,12,13},ROW(1:1))
这里,{11,12,13}就是一个内存数组。
A1:a10为20以内的数值,求大于10的最小的5个数:
选择B1:B5,输入下面公式,按Ctrl+Shift+Enter结束。
=SMALL(IF(A$1:A$10>10,A$1:A$10),ROW($1:$5))
在编辑栏内,选择全部公式,按F9,你看到的是一个数组,它的外部特征就是那个大括号,这个数组是一个内存数组。
这个数组也可作其它函数的参数使用:
=INDEX(SMALL(IF(A$1:A$10>10,A$1:A$10),ROW($1:$5)),ROW(1:1))
别忘了按Ctrl+Shift+Enter结束。
我总觉得这是个说不清的概念,得慢慢去悟它。算抛砖,请高手指正。 |