您所在的位置:Seago-Microsoft Windows>>Windows Client>> 再问函数SUMPRODUCT

再问函数SUMPRODUCT

作者:monface 来源:新浪爱问 日期:2008-04-21 

尊敬的èdìshényǎ你说对了,正是你的精彩回答我看不懂,才提出这样的问题,“SUMPRODUCT((LARGE(.....) LARGE(.....) (LARGE(.....))”是什么意思?去掉SUMPRODUCT,保留其它部分,行不行?再有,条件格式的公式如此之长,编辑修改时,如何移动光标? 电脑问题网给出的最佳答案 哦,cpqxyl1824提供的地址,我看了题了,那我来回答一下吧,公式可改为=SUMPRODUCT((LARGE($A$3:$A$14*($B$3:$B$14=$D$3),1)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),2)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),3)=$A3))我把公式分解开来解释一下,其中(LARGE($A$3:$A$14*($B$3:$B$14=$D$3),1)的意思为B列的品种等于D3中所选的品种,且在这个品种中找日期第一个最大值,后面两项就好理解的,分别为找第二大和第三大的日期值.合起来(LARGE($A$3:$A$14*($B$3:$B$14=$D$3),1)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),2)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),3)=$A3)的意思是找出来的第一个最大值或第二个最大值或第三个最大值要是等于A3的话,就算条件满足,公式中加起来,是或运算,也就是说其中有一个条件满足,就算满足,SUMPRODUCT的功能是求数组乘积的和,在这里用它可以完成数组运算,没有它$A$3:$A$14*($B$3:$B$14=$D$3)就无法完成数组运算.这个数组运算也是这个公式的关键所在,它是剔除品种非D3中指定品种,并把是D3中指定品种的出售日期挑出,组成一个数组,这样后面的Large函数,就可以从中找出第一个最大值/第二个最大值/第三个最大值了,当然如果不用SUMPRODUCT函数,把它公式改为(LARGE($A$3:$A$14*($B$3:$B$14=$D$3),1)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),2)=$A3) (LARGE($A$3:$A$14*($B$3:$B$14=$D$3),3)=$A3)并按Shift Ctrl Enter三个组合键把公式转换成数组公式,效果一样.
第二个问题,在条件公式里好象没有好的移动光标的办法,除了用鼠标选中内容,然后右移或左移位置,到大至要的位置后停住,并在具体位置点击鼠标来完成光标移动,除此外还没找到好的办法,我一般都是如果公式比较短,且有把握不用调试,就直接在里面输入,要是公式比较长,需要调试的,一般都放在某个单元格里写,写好调试通过后,再复制并用Ctrl V把它粘贴到里面.

其他回答   糊涂先生说的就是http://iask.sina.com.cn/b/12363563.html 中条件格式里的如下公式吧:
"=($B$3=$D$3)*SUMPRODUCT(LARGE($A$3:$A$14*($B$3:$B$14)=$D$3,1)=$A3 (LARGE($A$3:$A$14*($B$3:$B$14)=$D$3,2)=$A3 (LARGE($A$3:$A$14*($B$3:$B$14)=$D$3,3)=$A3)))"。
烦请èdìshényǎ先生给讲解,以便我等搭车就教。谢谢。

我也到这里报到,聆听一下èdìshényǎ先生的讲解。我可是弄了两个辅助列才算达到目的的。