[转载]
关于用SUMPRODUCT取代SUM数组公式的想法
用过数组公式的都可能知道,对于多条件求和或计数,我们一般都采用这种数组公式来计算。如:
对于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列出现非数值字符,用逗号分隔后,系统可以自动忽略非数值型数据的。
在Excel中,当我们希望单独查看图表或数据透视图报表时,可以使用图表工作表。图表工作表指的是工作簿中只包含图表的工作表,在其中可以插入独立于工作表数据的图表,或者插入独立于数据透视表的透视图报表。
Excel允许将多个图表嵌入到一个独立的图表工作表中,下面的技巧将介绍如何在一个图表工作表中同时显示多个图表,并使图表的显示可以随窗口大小自动调整。
1.象平常一样在一个工作表中先输入一些用于创建图表的数据,如图1所示。
图1 创建图表的数据
2.选中A1至E5单元格,执行菜单命令“插入>图表”,当出现如图2所示的“图表向导”对话框时,直接单击“完成”按钮,在工作表中创建一个柱形图表。
图2 插入>图表
3.单击工作表中的任一空白单元格,然后按快捷键F11,这将创建一个用于放置嵌入图表的图表工作表,如图3所示,新建的图表工作表出现在工作表Sheet1的左边。
图3 图表练习
4.单击Sheet1回到柱形图表所在的工作表,选中柱形图表,然后执行菜单命令“图表>位置”,打开如图4所示的“图表位置”对话框,选中将图表“作为其中的对象插入”单选钮,并在右侧下拉列表中选择“Chart1”,单击“确定”按钮,即可将柱形图作为一个对象插入到新建的图表工作表Chart1中,结果如图5所示。
图4 图表位置
图5 添加图
5.重复上述步骤再向图表工作表Chart1中插入两个其它类型的图表,适当改变之三个图表的大小和位置,并选择菜单命令“视图>随窗口大小调整”,这样当我们缩放Excel窗口或工作簿窗口时,图表工作表中的这三个图表就会自动随窗口的大小变化作出调整以适应窗口了,如图6所示。
图4 “以零值代表”或“以内插值替换”
5.单击“确定”按钮,就可以看到图表的变化了。以上选择会作用到所选图表的所有数据系列。
还有一种办法是在空白单元格中输入公式=NA()。这样一来图表就会为包含该公式的单元格使用内插值,而不管在“选项”对话框中选择的是什么。(完)
我是EH的老用户了,断断续续在EH潜水学习,有时工作中碰到问题,这个论坛上总能及时找到答案。只是一直都是潜水,说话较少,最近要求自己多多回贴,也是为论坛做些自己的贡献。
前不就,将自己在博客整理的一点小小的图表方面的心得,转贴到论坛,承蒙snood、wilin2000等版主的错爱,给与了积分和加精,惶恐之至。但因图片外链接支持的问题,很多图片网友无法看到,影响的帖子的阅读,我自己本机上无法发现此问题,经snood、wilin2000版主提醒和要求,现决定抽时间重新发布整理贴,以方便各位网友。
杂志级图表方法,是我自己取的个名字,主要总结了一套如何用excel做到商业周刊等商业杂志上的图表的规范、效果的方法,都是些基本的图表技术,倒没有多深多复杂的技术,一般excel用户按帖子说明都可以做到。
这些贴子都是在工作之余中午的空隙陆续整理的,文字和逻辑不一定很完美,希望大家理解。帖子在我的博客发出后,也有很多地方转载,希望转载的朋友注明出处(ExcelPro的图表博客,http://excelpro.blog.sohu.com/),满足一下小小的虚荣心:)。好啦,下面慢慢贴了。请各位版主指教不当之处。
杂志级商业图表的第一步,突破excel的默认颜色
由于工作的关系,我一直对《商业周刊》等专业财经杂志上的图表有着浓厚的兴趣,我称之为“杂志级商业图表”。看着那些制作精良、令人赏心悦目而又极具专业精神的图表,心里就琢磨如何在excel中做出这种杂志图表效果。久而久之,我逐渐琢磨出一套用excel制作杂志级商业图表的方法。这种方法你在一般的excel书籍中或者网上是看不到的,那些书只讲作图的技术,有时候还搞得很复杂,却忽略了图表的沟通表达目的是要简单。
今天我为大家介绍制作杂志级商业图表的第一步,突破excel的默认颜色。
专业外观图表与普通excel图表的差别,首先体现在颜色的使用上。我们普通用户作excel图表,一般只会在其默认颜色中选择,先不说微软的这套颜色模版很一般(尤其是那个绘图区的默认灰色填充,脏的要死),你想都十几年了,大家都用这套颜色做图,看得多了,别人一看你做的图就知道你是用excel做的,总有被人看穿的感觉。而专业杂志上的图表,你几乎看不到excel中的默认颜色,可以说,他们的颜色就透着股专业劲。他们不管用什么软件作图,都极少会使用软件默认的颜色模版,而是使用他们自己的颜色模版,形成自己的风格,这样你就不知道他使用什么软件做的图。
要突破excel的默认颜色,其实也很简单,可以在excel中定制自己的颜色模版。点击菜单工具->选项->颜色卡,对经常需要用到的颜色进行自由定义,你可以进行定义出想要的任意颜色。
但我们不是美工专业人士,怎么能配出协调、专业的颜色模版呢?往往是选择越多反而越不知道怎么办。我的办法就是从杂志图表中借鉴,直接借用他们经过专业设计的颜色模板,老外叫做“steal”。现在有很多屏幕取色软件,可以实现精确取色。将鼠标定位在图表的某个颜色上,就可以返回那个颜色的RGB值。一一取出杂志图表用到的颜色,然后在excel中定义,就可以方便的使用了。
我想起大学的时候学吉他,新的流行歌曲没法及时搞到和弦谱,有一种方法叫“扒带”,就是反复听磁带,记下其中的吉他的节奏、和弦,然后就可以有模有样的伴奏弹唱了。我们那个老师扒的齐秦的《外面的世界》,那个过门solo和伴奏听起来真的就和磁带上一样。
下面是通过取色后制作前面那个图表的过程讲解,不需赘述,大家一看图就知道是怎么做的了。
平时,我们可以将不同风格的杂志图表的颜色,配置在不同的颜色模版文件中,需要的时候可以方便地从这些颜色模版文件中复制颜色。方法是,同时打开颜色模版文件文件和目标文件,在目标文件的工具->选项->颜色卡中,在“复制颜色来自”的下拉框中选择颜色模版文件即可。
好了,今天就写到这里,后面再慢慢整理。
补充:如果你做了颜色修改,希望以后新建都采用这种颜色,需要把这个文件保存为 excel的模版目录下的名为book.xlt的模版文件,如C:\Program Files\Microsoft Office\OFFICE11\XLSTART\book.xlt。
杂志级图表的第二步:突破excel的图表元素
Excel真的能制作出如杂志级效果的图表吗?那些杂志上的图表,他们的布局、效果、以及一些图表类型,Excel都没有提供啊?是的,如果我们仅用Excel的“[转载]原文链接: http://wanggq1029.blog.163.com/blog/static/29426013200853034333470
使用OpenRowSet
Excel数据导入到SQ



