对于很多使用Power Query或Power Pivot的朋友来说,工作中很容易碰到的一个情况就是——按条件求和!
对于这个问题,在Excel中很简单,用SUMIFS函数即可,或者如果版本比较低,没有SUMIFS函数,那可以用SUMPRODUCT函数来实现。具体方法很简单:
但是,在PQ或PP里,都没有SUMIFS函数,那这个问题该怎么办呢?
其实,这也比较简单,PQ常规的解法就是按求和所在行的相应数据作为条件对表进行筛选(Table.SelectRows),然后对筛选结果进行列求和(List.Sum)。如下所示:
Power Pivot里实现的思路也是一样,通过FILTER函数筛选符合条件的数据,然后用SUMX函数进行求和。
其实,对于这个问题的解法,无论是Excel、Power Query还是Power Pivot,核心思路都是一样的:即通过条件筛选出符合条件的数据,然后求和。
只是,在函数的用法上存在一点点差别而已。
同时,当你理解了这些方法,你再也不用惦记SUMIFS了,还有COUNTIFS等等,在PQ或PP里都能轻松实现。