说真的,每次看到同事的表格,C列是单价,D列是数量,然后在E列吭哧吭哧地输入=C2*D2,再把鼠标挪到那个小小的黑十字上,双击,哗啦——填充了一整列,满满当当的都是每一行的乘积。最后,再跑到表格最下面,哆哆嗦嗦地选中E列所有数字,或者干脆用=SUM(E:E),看着状态栏里跳出来的那个最终总额,长舒一口气。
我都替他累。
这简直是Excel界的“原始社会”玩法。不是说它错,它没错,绝对能算出结果。但这就像你想去市中心,放着地铁不坐,非要一站一站地挤公交,还可能遇上堵车。效率呢?美感呢?一个成熟的“表哥”“表姐”,表格应该是干净的,优雅的,甚至带着一丝丝“懒惰”的智慧。
今天就聊聊这个话题:excel表格怎么求乘积和。忘掉那个辅助列吧,那玩意儿又占地方又碍眼,万一中间删了一行,公式可能还出错了,简直是噩梦。咱们直接一步到位。
隆重请出今天的主角,一个你可能见过但没怎么用过,或者说,被它名字骗了的函数——SUMPRODUCT。
SUMPRODUCT,字面意思“乘积的和”。没错,这玩意儿,简直就是为“乘积再求和”这个场景量身定做的神器。就一个函数,一个单元格,彻底告别那个让你抓狂的辅助列。
想象一下这个场景: A列:产品名称(什么“黯然销魂笔记本”、“无敌铁金刚显示器”) B列:销售数量 C列:产品单价
老板拍着你的肩膀:“小李,今天之内,把所有产品的总销售额给我!”
你的第一反应是不是就要在D列创建“单项总价”?停!请把这个念头扼杀在摇篮里。
找个干净的单元格,敲下这个公式:
=SUMPRODUCT(B2:B100, C2:C100)
按下回车。
世界,清净了。
发生了什么?SUMPRODUCT这个函数,就像一个看不见的勤劳小精灵。你给了它两列数据(B2:B100 和 C2:C100),它就在内存里,默默地、成对地把它们抓出来:B2乘以C2,B3乘以C3,B4乘以C4……一直乘到B100乘以C100。它把所有这些乘积都算好了,然后,再把这些乘积全部加起来,最后把那个唯一的、最终的总和,呈现在你面前。
整个过程,你的表格界面上,除了那个最终结果,什么多余的东西都没有。是不是感觉自己的Excel水平瞬间提升了一个档次?
但如果你觉得SUMPRODUCT就这点能耐,那可就太小看它了。它的真正威力,在于多条件求和,而且是“带乘积的多条件求和”。这才是它封神的地方,是它能把SUMIFS这种函数都比下去的独门绝技。
老板的需求升级了:“小李啊,刚才那个总数不错。现在,我只想看‘黯然销魂笔记本’这一款产品的总销售额。”
用SUMIFS?不行。SUMIFS只能对“一列”进行条件求和,它没法处理“先乘后加”这种复杂逻辑。除非,你又退回原始社会,建了那个辅助列,然后用SUMIFS对辅助列求和。
但我们是谁?我们是优雅的Excel玩家。
看SUMPRODUCT的骚操作:
=SUMPRODUCT(--(A2:A100="黯然销魂笔记本"), B2:B100, C2:C100)
看到了吗?多了一段--(A2:A100="黯然销魂笔记本")。
这是什么鬼?别怕,我给你翻译一下。
A2:A100="黯然销魂笔记本" 这部分,Excel会挨个去检查A列的每个单元格,是不是等于“黯然销魂笔记本”。如果是,它就返回一个TRUE(真),如果不是,就返回一个FALSE(假)。所以你会得到一长串的TRUE、FALSE、FALSE、TRUE……
关键就在于前面的两个小横杠 --。在Excel里,这玩意儿叫“双重否定”,你也可以简单粗暴地理解为“强制转换”。它的作用,就是把那堆TRUE和FALSE,变成数字 1 和 0。TRUE变1,FALSE变0。
现在,公式里的三组数据就变成了:
第一组:一堆1和0组成的数组(我们想要的产品的行是1,不想要的是0)
第二组:销售数量
第三组:产品单价
SUMPRODUCT开始工作了。它还是老规矩,把每一行的数据都乘起来。
比如第三行是笔记本,那么它计算的就是 1 * B3 * C3。
比如第四行是显示器,那么它计算的就是 0 * B4 * C4,结果自然就是0。
最后,它把所有这些结果加起来。那些结果是0的行,加了也白加。最终留下的,不就恰好是所有“黯然销魂笔记本”的“数量×单价”的总和吗?
妙不妙?
这还没完。老板的需求总是那么变幻莫测。 “小李啊,把‘笔记本’和‘显示器’这两种产品的总额给我算一下。”
这是“或”的逻辑。在SUMPRODUCT里,加号+就代表了“或”。
看公式:
=SUMPRODUCT(((A2:A100="笔记本")+(A2:A100="显示器"))*1, B2:B100, C2:C100)
这里稍微复杂一点。(A2:A100="笔记本")会生成一组1和0,(A2:A100="显示器")会生成另一组1和0。因为一个单元格不可能同时是“笔记本”和“显示器”,所以这两组1和0在同一行相加,结果只可能是1(满足其中一个条件)或0(两个都不满足)。
((A2:A100="笔记本")+(A2:A100="显示器")) 这部分就生成了我们全新的筛选条件,一个包含了“笔记本”或者“显示器”的1和0的数组。后面那个*1和前面的--作用一样,都是为了确保把布尔值(TRUE/FALSE)转换成数值(1/0),算是一种保险措施。
当然,有人可能会说,我用数组公式 {=SUM(IF(…))} 也能实现。是的,可以。但你每次修改完公式,都得记着按Ctrl+Shift+Enter三键结束,不然就出错。这个操作,对于新手甚至很多老手来说,都是一个巨大的坑。而SUMPRODUCT天生就是数组公式的体质,却不需要那个特殊的结束方式,直接回车就行。它更友好,更符合直觉。
所以,下次再有人问你“excel表格怎么求乘积和”,别再教他建辅助列了。把SUMPRODUCT甩给他,让他感受一下什么叫真正的效率,什么叫真正的优雅。
这不仅仅是一个函数,这是一种思维方式。一种从“过程”思维(一步步计算)到“目标”思维(直接要结果)的转变。当你开始在工作中寻找并使用像SUMPRODUCT这样的工具时,你就不再是一个简单的数据录入员,而是一个真正的数据分析师了。
【别再傻乎乎地在Excel里先算乘积再求和了。】相关文章:
excel用英语怎么读音12-06
excel中怎么自动填充12-06
excel1004错误怎么解决12-06
excel中下拉列表怎么设置12-06
excel表格怎么使它错位12-06
excel数字过长怎么正常显示12-06
excel中求和怎么弄12-06
excel中排名函数怎么用12-06
excel表格怎么变大变小12-06
手机上的excel怎么制作12-06
excel怎么做图表分析12-06