美文网首页
Excel高效计算--浅谈数组

Excel高效计算--浅谈数组

作者: 数有道 | 来源:发表于2018-03-09 08:52 被阅读0次

    数组

    什么是数组

    在Excel中数组可以理解为:多个单元格的集合,比如:A1:A3,A2:B5等等。通常数组分为一维数组和二维数组,一维数组是单行或者是单列多个单元格集合,比如A2:A5(单列),B2:C2(单行)。二维数组是多行多列单元格的集合比如:B3:C5。

    蓝色部分(A2:A5)和红色部分(B2:C2)是一维数组,橙色部分(B3:C5

    )是二维数组。

    数组的计算方式

    我们知道数组分为一维数组和二维数组,另外,数组可以进行加、减、乘、除四种常见的运算,所以我们可以得到以下的几种计算方式:此处都是以乘法作为例子。


    这里提到了维度和元素的概念,维度就是我们所说的行方向或者是列方向,而元素即是我们数组中每一个值,比如A2:A5,此时维度为列,而元素即为A2:A5里面的值,元素的个数为4。

    1、一维数组×一维数组

    a) 同一维度:我们计算的是A2:A5与B2:B5之间两两相乘的结果。最后生成也是列方向上的一维数组,结果在C2:C5。

    b) 不同维度:此处我们用A2:A3列方向上一维数组与B2:C2行方向上的一维数组相乘做计算,可以看出得到了2行2列的多维数组。计算过程是:先用第一个数组的第一个元素跟第二个数组的所有元素相乘,再用第一个数组的第二个元素与第二个数组的所有元素相乘,依次类推。

    2、 一维数组×二维数组:此处我们用A2:C2一维数组乘以A3:C4二维数组,最终得到跟原始二维数组一样的2行3列二维数组。计算方式以一维数组的每一个元素与二维数组相乘。我们可以看出此时二维数组的行方向的元素跟一维数组一样都为3个。当然,如果你想用列方向的数组计算也是可以的,那么此时一维数组必须是两个元素。

    3、 二维数组×二维数组:此处用的A2:C3二维数组与A4:C5二维数组相乘,得到的也是一个相同维度和元素的二维数组。

    高能预警

    1、 通过上面计算方式的例句,我们可以看出数组最后结果都有{},这个大括号不是我们手动输入的,而是执行需要按:Ctrl+Shift+Enter数组触发器。

    2、 当计算后得到几维数组,我们就需要最后选择相应的区域,比如,二维数组*二维数组的例子中,最后得到了2行3列的数组,我们在计算的时候需要选择2行3列的区域。

    3、 需要特别的注意“二”中提到的数组的元素个数,必须保证计算时各数组的维度跟上面所提的一样,以及最终生成的数组维度和元素个数

    4、 注意利用运算符号(+/*)代替逻辑函数(or和and)。这个用法我们在实例中给大家讲解。

    栗子

    前面主要讲解了什么是数组、数组计算方式以及其注意点,在实际工作中我们用的比较多的还是一维数组乘以一维数组(同维度)以及其和sum/count等集合函数一起使用,下面我们来看看几个例子。

    需求1:D列是员工的原始工资,由于公司效益不错,现根据相应的贡献发放奖金(E列),结果放在F列。

    需求2:求一车间的男职工的工资总和

    这里先是三个数组进行相乘,然后作为sum的参数进行相加。第一个一维数组是B3:B11=”一车间”,这里会生成一列TRUE/FALSE,第二次生成C3:C11=“男”的逻辑值,最后跟我们需要计算的一列进行运算,另外,TRUE和FALSE在做计算时候,可以自动转换为1和0。当然次数是可以直接用sumifs函数的,那么,如果我们需要求工资大于2000或者工作小于1800的总和,此时,您想想能不能直接用数组。

    相关文章

      网友评论

          本文标题:Excel高效计算--浅谈数组

          本文链接:https://www.haomeiwen.com/subject/drtpfftx.html