分享

数组公式——喜欢的停不下来

 L罗乐 2016-12-16

Part I 简述

常量数组,是一组给定的常量,如{1,2,3}或{1;2;3}或{1,2,3;1,2,3},数组公式中的参数必须为'矩形',如{1,2,3;1,2}就无法引用了。

同时按下CTRL SHIFT ENTER,才能显示正确的公式:

有的时候,看上去是一般应用的公式也应该是属于数组公式,只是它所引用的是数组常量,对于参数为常量数组的公式,则在参数外有大括号{},公式外则没有,输入时也不必按CTRL SHIFT ENTER。

数组公式可以用几个一般公式和一些过渡数据来代替,从而达到同样的目的。


Part II 利用数组公式进行条件求和




1. 求产品BB的8月份产量

=SUM(IF(($B$7:$B$20='BB')*(MONTH($C$7:$C$20)=8),($E$7:$E$20),0))

公式中的'*'相当于AND,即同时满足条件,该公式可以作如下简化:

=SUM(($B$7:$B$20='BB')*(MONTH($C$7:$C$20)=8)*$E$7:$E$20)


2. 求产品BB和CC的总产值

=SUM(IF(($B$7:$B$20='BB') ($B$7:$B$20='CC'),($E$7:$E$20))*($D$7:$D$20))

公式中的' '相当于OR,即满足条件之一即可,该公式可以作如下简化:

=SUM((($B$7:$B$20='BB') ($B$7:$B$20='CC'))*$E$7:$E$20*$D$7:$D$20)


3. 求8月份之前AA的产量和8月份之后不包括AA的产品产量之和

=SUM(IF((MONTH($C$7:$C$20)>=8)<>($B$7:$B$20='AA'),$E$7:$E$20))

公式中的'<>'相当于不同时满足,即要么满足条件1,要么满足条件2,同时满足的不算,以下公式和上面的公式等价:

=SUM(IF((MONTH($C$7:$C$20)>=8)<>($B$7:$B$20='AA'),$E$7:$E$20))

'<>'还可以用'-'来代替:

=SUM(IF(($B$7:$B$20='AA')-(MONTH($C$7:$C$20)>=8),$E$7:$E$20))

该公式可以作如下简化:

=SUM((($B$7:$B$20='AA')<>(MONTH($C$7:$C$20)>=8))*$E$7:$E$20)

简化时,注意只能用'<>'而不能用'-'


4.求产品AA和BB在8月份的总产值

=SUM((($B$7:$B$20='AA') ($B$7:$B$20='BB'))*(MONTH($C$7:$C$20)=8)*($D$7:$D$20)*($E$7:$E$20))


Part III 举例说明




1.求产品AA有几次是产量大于200的

=SUM(IF(($B$8:$B$21='AA')*($E$8:$E$21>200),1,0))

该公式可以作如下简化:

=SUM(($B$8:$B$21='AA')*($E$8:$E$21>200))


2.求记录中共有几种产品(即产品编号中不重复的编号总数)

=SUM(1/COUNTIF($B$8:$B$21,$B$8:$B$21))


3.求记录中共记录了几个月的数据

=SUM(1/COUNTIF(MONTH(C8:C21),MONTH(C8:C21)))

该公式可以作如下简化:

=SUM(IF(MATCH(MONTH($C$8:$C$21),MONTH($C$8:$C$21),0)=ROW($C$8:$C$21)-7,1))


Part VI 利用数组公式进行条件记数



1. 把B列中不重复的名称在C列中一一列出

=IF(SUM(1/COUNTIF($B$7:$B$20,$B$7:$B$20))>=ROW(B1),INDEX($B$7:$B$20,SMALL(IF(ROW($B$7:$B$20)-6=MATCH($B$7:$B$20,$B$7:$B$20,0),ROW($B$7:$B$20)-6,'0'),ROW(B1))),'END')


2. 把员工按工资收入高低从大到小排列
=INDEX($G$7:$G$20,MATCH(LARGE($H$7:$H$20 0.00001*ROW($H$7:$H$20),ROW()-6),$H$7:$H$20 0.00001*ROW($H$7:$H$20),0))



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多