EXCEL高手请解答

来源:百度知道 编辑:UC知道 时间:2024/05/10 16:51:34
=index(目录!A:A,small(if(目录!A$3:A$450<>0,row(目录!A$3:A$450)),row(1:1)))按Ctrl+Shift+Enter生成数组公式,有高手能详细解释一下吗
A:A是什么意思
A$3:A$5中的行号是绝对引用,那么公式向下拖的话得出来的值岂不是一样都是A3到A5中的那个最小值
生成数组又体现在哪里呢
这个公式不仅应用于一个单元格,而是应用到一列单元格,这个时候它又是什么意思呢?
公式得出的效果我是知道的,只是对所谓的数组格式不太明白, excel公式里是怎么表示数组的呢,各位高手好象也没对此作出解答

公式包含四个函数:
ROW行号函数,row(目录!A$3:A$450)返回目录工作表第3行至第450行的行号,row(1:1)返回第一行的行号。
IF函数,条件真得到第一个结果,条件假得到第二个结果。公式中省略了第二个结果,也就是说条件真得到结果一,条件假返回空值。
SMALL函数返回某个区域中第几小的值,公式中ROW(1:1)=1,所以是求最小值,相当于使用MIN函数。将公式改为“=INDEX(目录!A:A,MIN(IF(目录!A$3:A$450<>0,ROW(目录!A$3:A$450))))”可以得到相同的结果。
INDEX函数是返回区域中第几行、第几列的值。公式中省略了第几列就相当于第1列(当前列)。

所以,公式的总的意思是:
对“目录”工作表的A列第3至450行逐行判断是否等于0,如果不等于0就得到它们的行号,然后找到最小的行号并返回该行A列的值。

简而言之:从A3单元格开始向下查找第一个不为空的单元格的值。

补充回答:
A:A代表整个A列。
这个公式就是从A3单元格开始向下查找第一个不为空的单元格的值。不需要向下拖。
由于公式全部使用绝对地址,所以向下拖将得到同一结果。
不知你要求什么内容,需要向下拖。

公式有问题, 任何情况都是 传回 A3的值
请检查清楚