欢迎5tastes朋友。 gdliyy版主说的没错,If()函数在该表达式中是多余的,因为它的条件全为真。 公式简化为: LARGE(sheet1!$AG$3:$AG$16,ROW(sheet1!$1:$14))) 把工作表名去掉,看起来舒服些: LARGE($AG$3:$AG$16,ROW($1:$14))) 先把原公式放一下。 期末考试结束了,学生成绩记录在$AG$3:$AG$16,依次是: 66,54,72,74,28,43,62,13,71,80,94,53,29,4 学生围在老师身边,甲学生问:老师,第1名的成绩是多少? 老师用LARGE($AG$3:$AG$16,1)一查,答:第1名成绩是94。 Large()函数返回指定区域中第k个最大值。 乙学生问:老师,第5名的成绩是多少? 老师用LARGE($AG$3:$AG$16,5)一查,答:第5名成绩是71。 LARGE($AG$3:$AG$16,5)函数返回$AG$3:$AG$16区域中的第5个最大值。 丙学生问:老师,第1-3名的成绩是多少? 老师用LARGE($AG$3:$AG$16,{1,2,3})一查,答:第1-3名成绩是{94,80,74}。 丁学生索性问,第1-14名的成绩是多少,看老师怎么查。 这下,老师用LARGE($AG$3:$AG$16,ROW($1:$14))。 还没等答案出来,学生问,老师,这是什么? 呵,你在编辑栏选取Row($1:$14),再按F9看看: {1;2;3;4;5;6;7;8;9;10;11;12;13;14} 原来,Row($1:$14)返回一个序列数组,这样写比写长长的一串数要简便,还不容易出错。 现在回过来看看公式: LARGE($AG$3:$AG$16,ROW($1:$14)) 它的结果是: {94;80;74;72;71;66;62;54;53;43;29;28;13;4} 知道是怎么来的吧?它是一个数组,可供其它函数或公式调用。
[此贴子已经被作者于2006-7-17 13:35:46编辑过] |