作业帮 > 综合 > 作业

请解释公式=INDEX(成绩总单!A$1:A$31,SMALL(IF(成绩总单!$A$2:$A$31="甲",ROW($

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 21:13:26
请解释公式=INDEX(成绩总单!A$1:A$31,SMALL(IF(成绩总单!$A$2:$A$31="甲",ROW($A$2:$A$31),31),ROW(A1)))
Excel表格中,如何把符合条件的行自动归到各自的明细表中
请解释公式=INDEX(成绩总单!A$1:A$31,SMALL(IF(成绩总单!$A$2:$A$31=
一、INDEX返回的是一个数据区域中的行列交叉点上的值.形式:
=INDEX(数据区域,数据区域中的第几行,数据区域中的第几列)
二、此例中,“数据区域”是本工作簿中名称为“成绩总单”的表中的区域A$1:A$31
三、“数据区域中的第几行”:由这个函数决定——SMALL(IF(成绩总单!$A$2:$A$31="甲",ROW($A$2:$A$31),31).
四、SMALL函数的意思是:返回区域中第几小的那个数.形式如:=SMALL(区域或者数组,第几个最小的数)此例中,应该是区域——(IF(成绩总单!$A$2:$A$31="甲",ROW($A$2:$A$31),31)指定的区域,由ROW(A1)指定的第几个最小的数.可是这里好像有个问题!
五、IF(成绩总单!$A$2:$A$31="甲",ROW($A$2:$A$31),31)是说,如果在成绩总单!$A$2:$A$31中找到第一个值为"甲",的单元 格,就返回ROW($A$2:$A$31)指定的行号,否则就返回值31.不管这个IF成立否,其值都是一个数值,而不是一个数组或者区域,它不能成为上面的SMALL的第一个参数.
所以这个公式可能有错误.如果我的回答不正确.我愿意虚心学习.
另外,ROW($A$2:$A$31)永远是一个固定的数值2.就是说,这个公式中的错误不只一处.