《数组运算法则(3页).doc》由会员分享,可在线阅读,更多相关《数组运算法则(3页).doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数组运算法则-第 3 页认识一维数组和二维数组。理清概念很重要,不要混淆数组、数组公式。第一,一维数组和二维数组的定义单行或单列的数组,我们称为一维数组。多行多列(含2行2列)的数组是二维数组。第二,数组和数组公式的区别数组,就是元素的集合,按行、列进行排列。数组公式:就是包含有数组运算的公式。ctrl+shift+enter,三键结束,这个过程就是告诉excel请与数组运算的方式来处理本公式,反馈一个信息,就是在公式的外面添加一对花括号。第三,一维数组和二维数组的运算规律1、单值x与数组arry运算执行x与arry中每一个元素分别运算并返回结果,也就是与arry本身行列、尺寸一样的结果。比
2、如:2*1,2;3,4;5,6,执行2*1、2*2、2*32*6运算,并返回3行2列的二维数组结果2,4;6,8;10,12,如下图所示:数组中行和列分别用逗号、分号来间隔。逗号表示行,行之间的关系比较紧密,用逗号分割;列之间,关系相对比较疏远一点,用分号分割。又比如:A&B,C返回AB,AC。A=B,A,C返回FALSE,TRUE,FALSE2、同向一维数组运算执行arry1与arry2对应位置的元素分别运算并返回结果。要求arry1与arry2尺寸必须相同,否则多余部分返回#N/A错误。比如: 1;2;3*4;5;6返回4;10;18;1,2,3,4*4,5,6返回4,10,18,#N/A
3、,如下图所示:3、异向一维数组运算arry1的每一元素与arry2的每一元素分别运算并返回结果,得到两个数组的行数*列数个元素,也就是M行数组与N列数组运算结果为M*N的矩阵数组。比如:1;2;3*4,5,6,7,8,执行1*4、1*5、1*8、2*4、2*53*8,返回4,5,6,7,8;8,10,12,14,16;12,15,18,21,244、一维数组与二维数组运算二维数组其中一个方向与一维数组同向同尺寸,比如M*N的二维数组与M行或者N列的数组运算,在同向的运算类似同向一维数组之间的位置对应,在异向的运算则类似单值与数组之间的一一运算。超出尺寸范围都返回错误值。例:1,2,3,4*1,
4、2,3,4,5;6,7,8,9,10即4列一维数组与2行5列二维数组运算,列方向上两个数组运算按位置一一对应的,不足部分用#N/A补齐,行方向上则是一对多的运算。即:1*1,2*2,3*3,4*4,#N/A *5;1*6,2*7,3*8,4*9,#N/A *10;返回1,4,9,16,#N/A;6,14,24,36,#N/A。5、二维数组之间运算要求尺寸相同,并执行相同位置元素一一对应的运算,超出尺寸部分返回错误。例:1,2;3,4*1,2,3;4,5,6;7,8,9执行1*1,2*2,3*4,4*5,其余部分用#N/A补齐,返回=1,4,#N/A;12,20,#N/A;#N/A,#N/A,#
5、N/A以上几个图示,希望对新手认识和理清一维数组和二维数组有所帮助。数组的运算法则 有excel表如下: 姓名 成绩 /王娟 优 /永生 中 /闵生刚 优 /朱智锐 中 /胡强强 良 /金龙鳞 优 /张正梅 中 /汪欲生 良 /闵生刚 中 /王娟 优 /张正梅 优 /闵生刚 中 /永生 良 /王娟 良 /其中姓名在sheet1页的a列,成绩在c列。我想在sheet2页中建立一个表如下: 姓名 统计优数 /胡强强 /金龙鳞 /闵生刚 /汪欲生 /王娟 /永生 /张正梅 /朱智锐 /同样姓名在sheet1的a列,统计在c列,这里的姓名已经整理为没有重复的姓名。要统计出每人获得优的数目。请问用什么函
6、数能解决。我用了if(sheet1!c2)=优,countif(sheet1!a:a,a2),结果是统计的姓名数,而不是成绩数。如果能统计出来,哪么就是一个动态的当sheet1中数据变化时,sheet2中数据应到跟着变化。 有位朋友指导采用下面的式子把上面的问题解决了。这里假设最大记录数为100 =sum(sheet1!$a$2:$a$101=$a2)*(sheet1!$c$2:$c$101=优)*1) ,按Ctrl+Shift+Enter ,但是这是用到了数组运算,请问数组运算的规则是什么,看到许多地方都可以用数组解决,但不知其所以然。帮助文件中也没说运算规则。如上式中为什么用*号?谢谢 解
7、答:对于数组公式的含义 sum(sheet1!$a$2:$a$101=$a2)*(sheet1!$c$2:$c$101=优)*1) 我们来一部分,一部分的讲: 1、(sheet1!$a$2:$a$101=$a2) 表示用 sheet1!$a$2:$a$101 区域中的每一个单元格中的内容与 $a2 单元格的内容进行比较,如果相同结果为“True”,否则为“False”。 2、(sheet1!$c$2:$c$101=优) 表示用 sheet1!$c$2:$c$101 区域中的每一个单元格中的内容与 字符串优进行比较,如果相同结果为“True”,否则为“False”。 3、最后一部分乘以1。是强制Excel将“True”或“False”转换为数值“1”或“0”,以便sum函数可以求和。 4、至于第一部分和第二部分之间的乘号(*)的目的是,如果第一部分或者第二部分有一个的结果是“False”,那么Excel将其转换为数值“0”,相乘结果为零,表示不在求和范围内。
限制150内