EXCEL中=INDEX(A1:C11,0,3)怎么理解这个公式

如题所述

函数结构: INDEX(array, row_num, [column_num])

    如果同时使用参数 Row_num 和 Column_num,函数 INDEX 返回 Row_num 和 Column_num 交叉处的单元格中的值。

    如果将 Row_num 或 Column_num 设置为 0(零),函数 INDEX 则分别返回整个列或行的数组数值。若要使用以数组形式返回的值,请将 INDEX 函数以数组公式形式输入,对于行以水平单元格区域的形式输入,对于列以垂直单元格区域的形式输入。若要输入数组公式,请按 Ctrl+Shift+Enter。

你可以用如下方法验证:抹黑公式,按F9,看结果是不是第三列数值构成的数组 {"数量";40;38;15;25;40;0;10;16;20;12}

追问

如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的值数组。要将返回的值用作数组,请在行的水平单元格区域和列的垂直单元格区域以数组公式 (数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)的形式输入 INDEX 函数。要输入数组公式,请按 Ctrl+Shift+Enter。这句话怎么理解 不太明白

追答

用你截图的公式作为例子
INDEX($A$1:$C$11,0,3)中第二个参数为零,则返回整个第三列的数组数值,即{"数量";40;38;15;25;40;0;10;16;20;12}
你可以将你的那条公式在输入完成时按下Ctrl+Shift+Enter三键 {=INDEX($A$1:$C$11,0,3)};再将公式向下填充11行,得到的数据跟C1:C11是一模一样的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-09
一般应该不会这么用INDEX
INDEX中,第1参数为引用区域,第2参数为指定引用区域的行序号,第3参数为指定为引用区域的列序号。现在这个公式中,指定的行序号为0,本来是一个错误的参数,但Excel做了容错处理,以当前行作为了引用区域所在行来确定,第3参数3指定第3列,即数量所在列。所以这个公式写在哪行,就取该行的数量。追问

2、如果将 row_num 或 column_num 设置为 0(零),INDEX 将分别返回整列或整行的值数组。要将返回的值用作数组,请在行的水平单元格区域和列的垂直单元格区域以数组公式 (数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。)的形式输入 INDEX 函数。要输入数组公式,请按 Ctrl+Shift+Enter。这句话怎么理解 不太明白,

追答

就是如果同时按了Ctrl+Shift+Enter三个键,INDEX返回一个内存数组(整行或整列),你这里就是第3列,请下图中的E9为数组公式——取得数组中的第1个数据;E10为普通公式,如前所说,取得当前行的数据;F3:F13为选择11个单元格后一次输入的数组公式——取得了C列整列数据——一次选择几个单元格,就从头开始依次取得几个数据。

下图中最下面的图中,在编辑栏中把E9的INDEX(A1:C11,0,3)拖动鼠标选择后,按F9,可以看到公式得到了C1:C11共11个数据,这就是数组公式得到的内存数组。

INDEX的这种用法极少应用。

相似回答