数组运算2(方向相同的一维数组的运算)
今天来说方向相同的一维数组和一维数组的运算,也就是要么都是横向,要么都是纵向。
-01-
运算规则
1.横向一维数组的运算
如下图所示,将A1:D1这个区域和A2:D2这个区域相加,结果输出到A4:D4中,可以看到它们的运算方式是一一对应的相加,第1个区域的第1个值与第2个区域的第1个值相加···以此类推,最后得到的还是个一维横向数组。
可以在公式编辑栏中按F9查看,一一对应地相加,2+7,1+6···。
再看下图,左边的是A7:D7与A8:D8相加,结果输出到A10:D10。右边的是F7:I7与F8相加,也就是与单值10相加,结果是F10:I10。可以看到左右两边的结果一样。
那么我们可以总结,一维数组与单值运算,可以看作把单值扩展到和一维数组一样大小的尺寸,然后一一对应运算。就像下图右边的10扩展成左边的那样。
下图2个区域的大小尺寸不同,一个有5个单元格,一个只有4个单元格。将其相加,结果输出到黄色区域。可以看到最后一个元素为错误值。因为前面的4个单元格都是一一对应的,最后一个5没有和它对应的数值,所以返回错误值。因此数组间运算,最好大小尺寸相同,否则会出错。
2.纵向一维数组的运算
如下图所示,A19:A23与B19:B23相乘,结果输出到C19:C23,也是一一对应,得到的还是一维纵向数组。其他的情况和一维横向数组的运算一样,不再重复说明。
-02-
具体应用
1.在每种水果的总价中,求出最大金额。
普通的做法是像D列一样添加辅助列,求出总价,然后再求最大值。现在用数组来做,在F26单元格中输入公式=max(B26:B31*C26:C31),内存数组,按ctrl+shift+enter三键。
2.求数量最多的水果对应的金额。
如下图所示,数量最多的水果是水果5,求出它的总价。在F29单元格中输入公式=SUM((MAX(B26:B31)=B26:B31)*B26:B31*C26:C31),按ctrl+shift+enter三键。
MAX(B26:B31)这部分是取数量的最大值,MAX(B26:B31)=B26:B31这部分是数量的最大值与B列的每个数量进行比较,成立的返回true,否则返回false。(MAX(B26:B31)=B26:B31)*B26:B31*C26:C31这部分是将比较的逻辑值结果与数量和单价相乘,求出总价。满足最大数量的得到总价,不满足的为0,最后用sum求和。
如果对你有所帮助或启发,请打赏或分享一下,你的支持就是我最大的动力!
此公众号没有留言功能,如果有问题可以发到邮箱715704566@qq.com,有时间会给看一下的。
关注解锁更多函数的用法