楼主 rongjun |
【题目】 如何从一个常量数组中截取指定行列的子数组? 已知常量数组X(已定义为名称),在单元格中显示如A1:L10单元格区域所示。 请按照B12:B15单元格指定行、列数从常量数组X中截取子数组,生成新的内存数组。 【要求】 1、用函数公式完成,不定义名称(常量数组X除外)。 2、公式中引用B12:B15单元格以外的单元格区域视为使用了辅助区域(引用行列号除外)。 3、公式具备通用性,即当常量数组X变化时,或B12:B15单元格区域数值变化时,都能够得到相应的正确结果。 4、答题区域为A18:L27单元格区域。 【评分】 1、使用辅助区域,且得出正确答案,得3技能分,精彩答案可再获得1-3技能分; 2、不使用辅助区域,且得出正确答案者得8技能分,精彩答案可再获得1-5技能分。 【期限】 2011-03-15 如何从一个常量数组中截取指定行列的子数组?__题目.rar |
2楼 amulee |
先给个,想到其他再说,要辅助区域,就是给出的那个
|
3楼 鬼狐 |
=INDEX(X,N(IF(1,ROW(INDIRECT(B12&":"&(B12+B14-1))))),N(IF(1,COLUMN(INDIRECT(CHAR(64+B13)&":"&CHAR(63+B13+B15)))))) |
4楼 wcymiss |
|
5楼 Zaezhong |
辅组列方法:
|
6楼 piny |
选取A18至L27 =INDEX(A1:L10,ROW(INDIRECT(B12&":"&B12+B14)),TRANSPOSE(ROW(INDIRECT(B13&":"&B13+B15)))) 或 =INDEX(X,ROW(INDIRECT(B12&":"&B12+B14)),TRANSPOSE(ROW(INDIRECT(B13&":"&B13+B15)))) 数组 |
7楼 laowuwyx |
多单元格数组公式。
如何从一个常量数组中截取指定行列的子数组?__题目.rar |
8楼 悟空师弟 |
公式:
如何从一个常量数组中截取指定行列的子数组?__题目.rar 结果并非B12:B15所指定的行数和列数,只是用条件格式完成那样的效果,不知道算不算。 荣版的题目文件中有条件格式:=OR(ROW()-17>$B$14,COLUMN()>$B$15)*(COUNTA(A18)<>0) |
9楼 gouweicao78 |
|
10楼 tntpai |
=INDEX(X,N(IF(1,ROW(INDIRECT("1:"&$B$14))+$B$12-1)),N(IF(1,COLUMN(INDIRECT("a:"&CHAR(64+$B$15)))+$B$13-1))) 现学现用 |
11楼 wjc2090742 |
大家回复的好快啊。比较直接的思路,右拉下拉:
|
12楼 liuguansky |
堆积木解法。 如何从一个常量数组中截取指定行列的子数组?__题目.rar |
13楼 zm0115 |
有点小长 如何从一个常量数组中截取指定行列的子数组?__zm0115.rar |
14楼 foodorwater |
如何从一个常量数组中截取指定行列的子数组?__题目.zip |
15楼 tldrtnnhtg |
=OFFSET(A1,B12-1,B13-1,B14,B15) 这个题我有点迷惑 按照这样的要求,只要用OFFSET函数,引用B12到B15 作为偏移量就可以达到目的了呀 不知道是不是我理解错了 |
16楼 liuguansky |
|
17楼 rongjun |
本题的考点就是piny网友发现的INDEX+N+IF新用法,使得index函数生成内存数组成为可能,解决了内存数组截取子数组的难题。 |