专业编程基础技术教程

网站首页 > 基础教程 正文

EXCEL条件求和的技术全盘点,共6种,你会几种?

ccvgpt 2025-04-05 17:12:09 基础教程 10 ℃


今天我们来谈谈EXCEL中的条件求和。

EXCEL条件求和的技术全盘点,共6种,你会几种?

我们将利用不同的技术实现,而不是使用函数的6种方法

直接开始吧!


数据源



结果




1、数据透视表-难度系统★☆☆☆☆


插入-透视表,行字段-销售员,值-金额



2、 函数公式法-难度系数:★★☆☆☆


这里想要实现完全自动,需要姓名动态去重,所以给2颗星,否则SUMIF(S),一颗心,难度系数较小


销售员去重:=IFERROR(INDEX(B:B,MATCH(,COUNTIF($H$1:H1,$B$2:$B$226),)+1),"")

金额合计=SUMIF(B:B,H2,E:E)



3、SQL方法-难度系数:★★☆☆☆


连接数据源文件,数据-现有连接-浏览更多-选择SQL法表-确定插入



在连接属性-定义中写入SQL

select 销售员,SUM(金额) as 合计金额 from [SQL$] group by 销售员



4、Power Query-分组法-难度系数:★★☆☆☆


PQ方法比较简单,基本也是简单的操作,加载到PQ后,值需要转换分组依据中,选择按照销售员分组,金额求和即可,基本同透视表类似



5、Power Pivot-难度系数:★★☆☆☆


这里我们使用的是2016版本已经内嵌的Power Pivot

加载进来,可以右击编辑Dax,输入以下Dax公式

PBI中直接写,不需要evaluate


evaluate

summarize('销售表',[销售员],"金额合计",SUM('销售表'[金额]))




6、VBA法--难度系数:★★★★☆


难度给到四颗星,因为VBA相对新手有点难度,整体代码比较简单,我们使用字典汇总


代码如下:

Sub 汇总()
    arr = Range("A1").CurrentRegion.Value
    Dim d As Object
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To UBound(arr)
        d(arr(i, 2)) = d(arr(i, 2)) + arr(i, 5)
    Next
    [G1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys(), d.items()))
End Sub



你会几种呢?多一种方法,就多一种选择,我们可以根据场景选择最合适!

今天就到这里,希望大家都能学会,那么你的EXCEl水平起码有中级了!

Excel办公实战,高效办公,每天进步一点点!

关注小编,下次精彩不迷路!

原创不易

喜欢小编的文章,一定要点赞,关注,转发

您的鼓励是小编最大的动力!

最近发表
标签列表