Sumas bidireccionales multicondicionales, umif está completamente descartado, pero umproduct es pan comido.

今天我们来解决一个困扰很多Excel新手的问题,它就双向求和,所谓的双向,就是两个方向,如下图所示,我们想要根据【项目】与【费用类别】来实现动态求和效果。

【项目】与【费用类别】在数据源中,一个是纵横的,一个是横向的,对于这样存在2个方向的判断条件,我们常用的sumifs函数,就无法解决了,因为sumifs函数它仅仅只能对一个方向的数据进行多条件求和。那么这种情况应该如何解决呢?今天我们就来详细的讲解下

双向多条件求和,umif彻底不行了,但是umproduct却能轻松搞定插图1

一、解决方法

在Excel中解决这样的问题,最简单的方法就利用sumproduct函数,先跟大家分享下计算的方法,之后跟大家介绍下计算的原理。

公式:=SUMPRODUCT((A6:A17=A2)*B6:F17*(B5:F5=B2))

这个公式本质上就是SUMPRODUCT函数的多条件求和,简单列举下每个式子的作用

A6:A17=A2,【项目类别】等于需要统计的项目
B6:F17,需要统计的费用区域
B5:F5=B2,【费用类别】等于需要统计的费用

最后将这三个式子相乘,就会得到需要的结果,效果如下动图所示

双向多条件求和,umif彻底不行了,但是umproduct却能轻松搞定插图3

二、原理讲解

这个式子它的本质就是数组的计算,理解起来可能还是比较复杂的,我们先来看一下前两个式子的结果

A6:A17=A2,这个式子是对项目进行判断,结果是一列逻辑值只有true与false,我们可以将true看做是1,false看做是0,他的本质其实就是1维的列数组

B6:F17,它其实就是需要统计的金额区域,在这里是是有多行多列的,所以是一个二维数组

当1维列数组与2维数组相乘的时候,是1维列数组与2维数组中的所有列相乘,然后得到一个对应的2维数组,计算过程如下图所示,结果就是最右侧的数据,之后得到的结果会继续与B7:F7=B4相乘

双向多条件求和,umif彻底不行了,但是umproduct却能轻松搞定插图5

B7:F7=B4,它是对【费用类别】进行判断,结果是一行逻辑值,本质就是1维的行数组,之后这个1维的行数组会继续与上一步得到的结果相乘

1维的行数组与2维数组相乘,就是1维行数组与2维数组的所有行相乘,然后得到一个新的二维数组,计算过程如下图,仅剩【251】与【163】2个值,最后sumproduct会对结果进行求和,这个就是【项目D,人工费】的总计

双向多条件求和,umif彻底不行了,但是umproduct却能轻松搞定插图7

以上就是函数的运算过程,是一个数组的计算,理解起来可能还是比较难的,如果你实在理解不了,只需要记得这个格式,直接套用即可。

如果你

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。本文网址:https://www.excelwordppt.com/es/word-excel-ppt/6325.html

Agregue un comentario

Iniciar sesiónSin comentarios hasta después de
Español de Perú