EXCEL函数疑问

我的电脑没办法插入图片,只能给个地址,在EXCLEHOME论坛上看到的一个贴子关于订单交货及时率计算方法,下面这个公式中(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2)请问是什么意思?能解释下吗?谢谢!

http://club.excelhome.net/forum.php?mod=viewthread&tid=1128467&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline%26dateline%3D7948800&page=1

=SUM((H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3)/SUM(D3:G3)
非常感谢,能看得出你是很认真的帮我分析。能再次帮忙回答以下几点吗D3:G3<>""得到什么MAX((D3:G3<>"")*D$2:G$2) 得到什么(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2) 得到什么(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3) 得到什么SUM((H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3) 得到什么SUM((H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3)/SUM(D3:G3)得到什么

从公式字面理解,这是一个数组公式,首先有来看运用了哪些函数 哪些运算
一、 函数:1、sum()求和,2、MAX()求一组中的最大值
二 、运算符:1、用到了 * 一般就是乘法运算。也可是条件之前的运算 一个真*真 为真,一个真*一个假为假,也就是1*1为1,1*0为0 。
2、用到了/除法这个就是 除法计算 四则运算
3、〈〉比较。表示 不等于的意思。
4、<=小于等于。就是小于等于的意思。
三、就是把这些运算按括号顺序计算。
这里明白了 拆开就能明白了。关键部分中(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2)会选 运算括号中的(D3:G3<>"")*D$2:G$2这部分就是 在D3:G3不等于""空 也就是空单元格得出的结果就是true和false,也就是1和0。和D$2:G$2区域进行*运算 也就是 对应空的结果 是0 对就不空的结果还是原来的数,这时候再用max()函数取出其中最大的数。
其中$是绝对地址符号 也就是说$2就是不管公式如何拉动 2是不变化 D$2:G$2表示行永远定在第2行,向下拉公式也不会变 但向左右拉 D列和G列会相对变动。追问

朋友,谢谢你的回答,能帮忙再次补充下我提的问题吗?谢谢!

追答

教你个最简单的作法 公式审核工具 可以分步执行公式 你只需要把你的数据区设的小些 就可以分步看执行效果了。下图为公式审核的位置所在 03-07以上版本的演示。

 

一、D3:G3<>"":{FALSE,TRUE,FALSE,FALSE}表示四个数中只有一个数是有数据就是第二个D4单元格(2-JUN)不是空的。
(D3:G3<>"")*D$2:G$2)得到的结果:{FALSE,TRUE,FALSE,FALSE}*{0,41792,0,0}其中前面说过flash也就是0,0乖任何数都 是0 ,true为1 ,1乖任何数还是原数 得结果就是以一步
MAX((D3:G3<>"")*D$2:G$2) 得到是:MAX({0,41792,0,0})能过*法计算 结果是 41792(也就是日期2-Jun)

(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2)  得到: {41791,41792,41793,41794}<=41792 得出结果是这个计算过程,比较的结果是{TRUE,TRUE,FALSE,FALSE}也就是有两个日期符合要求。也就是1号和2号。

(H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3)   得到什么:({TRUE,TRUE,FALSE,FALSE})*{0,100,200,0},结果就是只有100。计算和前面一样

SUM((H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3)  得到通过上步 得到结果:
SUM({0,100,0,0}) 等于 100
SUM((H$2:K$2<=MAX((D3:G3<>"")*D$2:G$2))*H3:K3)/SUM(D3:G3)
得到什么: SUM({0,100,0,0})/SUM({0,300,0,0}) 计算结果 100/300 =0.333333333333333
累死了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-26
公式看附件
相似回答