本次题目主要知识点: 1、内存数组的取值和构建 2、提取不重复值的方法 3、矩阵运算条件求和(MMULT构建内存数组) lg_cai、yeatol、scottwang等会员均未按题意要求的“内存数组”要求完成,有的甚至擦肩而过,以三位的功力完成绰绰有余,答案虽不符合题意,也给大家带来精彩解题方式,毕竟实际应用的纯内存数组的东西较少。 为让更多人参与,特地设置了单元格引用解法和内存数组调用解法,其实两个解都可以用同样的思路完成,大家很绅士地只解了内存数组而放弃了单元格引用,[em17]风格高尚。 解题思路: 1、按部就班,先取得符合员工、单次销售量要求的所有商品列表,再对它求不重复值。 2、求得符合员工、单次销售量要求的不重复商品的对应行号,由此行号求不重复值。 3、直接将3个条件捆绑求出不重复商品列表。(gvntw) 4、多条件求和形成内存数组目前一般用SUMIF和MMULT,若多字段条件求和Sumif要求单元格引用且需要辅助列,因此可以排除。本月MMULT的帖子一直是热门帖子(别说我漏题哦,),仔细找找还是可以运用过来的。 技巧点:函数N()屏蔽文本 Lookup求条件内存数组的定式——根据gvntw版主的《内存数组的处理_Lookup》得出。=LOOKUP(SMALL(IF(条件,ROW(INDIRECT("1:"&总行数))),ROW(INDIRECT("1:"&满足条件记录个数))),ROW(INDIRECT("1:"&总行数)),数组) 简写=LOOKUP(SMALL(IF(if,ROW总),ROWif),ROW总,DATA) 我们知道:Small(array,k)——当k为数组时,返回与k尺寸相同的数组。 LOOKUP(lookup_value,lookup_vector,result_vector)——当第1参数lookup_value为数组时,返回与之尺寸相同的数组 这就是Lookup求条件内存数组“定式”的原理 下面是我的两个解,一个是普通解法(看到jssy的解答时惊叹,好像他看了标准答案似的,竟然定义名称也一样,呵呵),一个用frequency。
[此贴子已经被作者于2006-6-23 10:35:59编辑过] |