今天我們來談談EXCEL中的條件求和。
我們将利用不同的技術實現,而不是使用函數的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辦公實戰,高效辦公,每天進步一點點!
關注小編,下次精彩不迷路!
原創不易
喜歡小編的文章,一定要點贊,關注,轉發
您的鼓勵是小編最大的動力!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!