Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: wgenjie@126.com

[函数] 数组公式的应用举例

  [复制链接]
发表于 2011-12-13 16:32 | 显示全部楼层
什么情况?貌似很经典
回复

使用道具 举报

发表于 2011-12-14 14:40 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-13 12:50 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-15 11:40 | 显示全部楼层
用过数组公式的都可能知道,考试大提示对于多条件求和或计数,我们一般都采用这种数组公式来计算。如:
  对于1个明细数据(见例),我们需要求该班男、女生各科成绩大于各科平均分的人数,这个问题不难,大家一般都会用sum()来多条件求值就行了(注:数组公式):
  本帖隐藏的内容 =SUM(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428)))
  确实这是解决问题的一种方法,但往往对于初用数组公式的朋友常常会遗忘(或不知道)用(Ctrl+shift+Enter)组合键来结束编辑(论坛中常常有类似的提问)。
  出于这个原因,我想到能否用SUMPRODUCT()函数来代替常用SUM()多条件求和公式呢?结果答案是肯定的。
  把上面的公式稍做修改,请见:
  =SUMProduct(($C$3:$C$428=$K3)*1,(D$3:D$428>=AVERAGE(D$3:D$428))*1)
  而且直接用Enter来结束,函数仍然可以正确计算结果。
  原因在于:SUMPRODUCT()函数本身就支持数组间运算(相同尺寸的数组相乘后再加总),因此我们毋须用数组公式组合键来结束。
  另:提醒大家一点,如果大家试图将公式改为:
  =SUMProduct(($C$3:$C$428=$K3),(D$3:D$428>=AVERAGE(D$3:D$428)))

  公式不能得出正确结果。
  如果多个条件这样并列写入,系统默认是用AND关系(即相乘)来运算,但是SUMPRODUCT不支持逻辑值数组常量间相乘(也算是小遗憾吧:)),因此请一定要将逻辑值转换成数值才行。
  大家可能觉得麻烦,因此我建议使用缩写公式,实际上是将多个数组参数变为一个数组,也就可以避免不同维数数组间相乘而带来的错误麻烦了。
  =SUMProduct(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428)))
  同理:我们如果需要求出所有男生中总分大于平均总分的所有总分,我们也可以用公式:
  =SUMPRODUCT(($C$3:$C$428=$K13)*(I$3:I$428>=AVERAGE(I$3:I$428)),I$3:I$428)
  如果数组尺寸(即行列数)相同,建议使用这种方法,如果直接相乘出现错误,可能是I列出现非数值字符,用逗号分隔后,系统可以自动忽略非数值型数据的。
回复

使用道具 举报

发表于 2012-3-31 00:19 | 显示全部楼层
应用举例? 那就看看例子
回复

使用道具 举报

发表于 2012-3-31 09:55 | 显示全部楼层
看看               
回复

使用道具 举报

发表于 2012-8-9 23:16 | 显示全部楼层
下载看看,应用例子
回复

使用道具 举报

发表于 2012-8-10 19:04 | 显示全部楼层
回复

使用道具 举报

发表于 2012-8-11 10:45 | 显示全部楼层
学习一下,谢谢。
回复

使用道具 举报

发表于 2012-8-15 22:29 | 显示全部楼层
我要看!!!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 17:42 , Processed in 0.501888 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表