設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

比數(shù)據(jù)透視表更強(qiáng)大,Excel 神技超級透視表

秋葉Excel 2024/12/1 14:05:14 責(zé)編:夢澤

原文標(biāo)題:《比數(shù)據(jù)透視表更逆天,Excel 神技超級透視表來了!》

大家好,我是正在研究超級透視表的小爽~

小 A 作為一位銷售,每天都會收到當(dāng)天的銷售明細(xì)數(shù)據(jù),然后他想要知道當(dāng)天每個(gè)產(chǎn)品的客戶數(shù)有多少,以便后面設(shè)計(jì)銷售方案。

因?yàn)?strong>一個(gè)客戶在當(dāng)天可能對同個(gè)產(chǎn)品多次下單,而數(shù)據(jù)源中存在產(chǎn)品大類和客戶 ID 字段,所以他需要根據(jù)產(chǎn)品大類對客戶 ID 去除重復(fù)值,然后進(jìn)行計(jì)數(shù)。

關(guān)于去除重復(fù)計(jì)數(shù),Excel 中有一個(gè)很經(jīng)典的用法,

是利用 SUMPRODUCTCOUNTIF/COUNTIFS 函數(shù)完成的。

=SUMPRODUCT(1/COUNTIF(統(tǒng)計(jì)區(qū)域統(tǒng)計(jì)區(qū)域))

針對這個(gè)問題,小 A 作為一個(gè) Excel 函數(shù)高手,之前都是這么做的:

如下圖,G2 單元格輸入公式如下:

=SUMPRODUCT(IFERROR(1/COUNTIFS($A$2:$A$20001,$A$2:$A$20001,$D$2:$D$20001,F2)*EXACT($D$2:$D$20001,F2),0))

這樣做可以是可以,不過一旦數(shù)量比較多,尤其是數(shù)組公式,表格就變得特別卡。

他知道,如果是 OFFICE 365,用 UNIQUE 函數(shù)和 FILTER 函數(shù)也可以做,但是公司用的不是 OFFICE 365。

公式如下:

=COUNTA(UNIQUE(FILTER($A$2:$A$20001,$D$2:$D$20001=F2)))

所以,小 A 就跑來問我,有沒有更好的方法呢?

我:可以用超級透視表啊~

小 A:數(shù)據(jù)透視表我用過,超級透視表是啥??

我:這就帶你看看超級透視表的世界!

1、非重復(fù)計(jì)數(shù)

我們先插入一個(gè)普通數(shù)據(jù)表。

大類拖拽到行區(qū)域,將客戶 ID 拖拽搭配值區(qū)域。

單擊值區(qū)域其中一個(gè)單元格,鼠標(biāo)右鍵-「值匯總依據(jù)」。

我們可以發(fā)現(xiàn):值匯總區(qū)域是有非重復(fù)計(jì)數(shù)的,但是它是灰色的,不能選中使用。

那想要使用它的話,應(yīng)該怎么辦呢?

我們重新創(chuàng)建一個(gè)數(shù)據(jù)透視表,這次我們勾選「將此數(shù)據(jù)添加到數(shù)據(jù)模型」,把普通透視表變身成為超級透視表。

同樣,我們將大類拖拽到行區(qū)域,客戶 ID 拖拽到值區(qū)域。

單擊值區(qū)域單元格-鼠標(biāo)右鍵-值匯總區(qū)域,這里可以看到非重復(fù)計(jì)數(shù)功能現(xiàn)在可以使用了。

我們選擇非重復(fù)計(jì)數(shù)。

此時(shí)我們可以看到非重復(fù)計(jì)數(shù)的結(jié)果已經(jīng)出來了。

是不是很簡單呢?

不需要復(fù)雜的數(shù)組公式,通過點(diǎn)點(diǎn)鼠標(biāo),我們就搞定了非重復(fù)計(jì)數(shù)。

作為一個(gè)補(bǔ)充,后面我來簡單介紹一下這背后的計(jì)算原理,有興趣的小伙伴可以繼續(xù)往下瞧瞧。

2、知識拓展

如果你仔細(xì)觀察,可能會發(fā)現(xiàn)一個(gè)問題。

我們對 ID 數(shù)據(jù)進(jìn)行求和(紅色邊框內(nèi)),結(jié)果為 16205,這時(shí)我們會發(fā)現(xiàn)結(jié)果與總計(jì)的值不一樣。

這是什么緣故呢?難道是因?yàn)槌壨敢暠恚≒owerPivot)出 bug 了?

要理解這個(gè)問題,我們需要了解超級數(shù)據(jù)透視表的度量值概念。

度量值:是數(shù)據(jù)分析中使用的計(jì)算。

包括使用數(shù)據(jù)分析表達(dá)式 (DAX) 公式創(chuàng)建的求和、平均值、最小值、最大值、計(jì)數(shù)或更高級的計(jì)算。

注:度量值的公式無論怎么編寫,運(yùn)算結(jié)果一定是個(gè)單值。

我們進(jìn)入 Power Pivot 界面:

在 Power Pivot 選項(xiàng)卡中,單擊【管理】,進(jìn)入 PP 中。

單擊顯示隱式度量值,我們可以看到:

我們剛剛使用的是匯總自帶的隱性度量值,非重復(fù)計(jì)數(shù),

它使用的 Dax 函數(shù)是 DISTINCTCOUNT 函數(shù)。

DISTINCTCOUNT 函數(shù)是用來統(tǒng)計(jì)去除重復(fù)后,唯一值的數(shù)量。參數(shù)結(jié)構(gòu)如下:

=DISTINCTCOUNT(去除的列名,或者表名稱)

如下圖:

以電腦的數(shù)據(jù)為例(篩選環(huán)境為電腦)。

超級透視表的計(jì)算原理是:

先對數(shù)據(jù)表中大類列的電腦進(jìn)行篩選,再針對篩選后所形成的表執(zhí)行度量值公式:=DISTINCTCOUNT (表 [客戶 ID]),也就是對客戶 ID 進(jìn)行非重復(fù)計(jì)數(shù),結(jié)果為 1860。

同理,由于總計(jì)的數(shù)據(jù)沒有篩選環(huán)境,所以 6080 是對整個(gè)數(shù)據(jù)表中的客戶 ID 直接進(jìn)行去重計(jì)數(shù)的結(jié)果。

因?yàn)橐粋€(gè)客戶 ID 可能同時(shí)買了別的產(chǎn)品大類,所以直接求和的數(shù)據(jù)(16205)一般會比總計(jì)的數(shù)據(jù)(6080)大。

如下圖:客戶 ID22601449,同時(shí)購買了食品,手機(jī),箱包。

總計(jì)直接去重的話,會直接把這三個(gè)訂單當(dāng)成一個(gè)訂單。而直接求和的話,就是三個(gè)訂單。

如果想要讓總計(jì)中的數(shù)據(jù),為大類中求和的數(shù)據(jù)結(jié)果,而不是總表客戶 ID 去重的計(jì)數(shù),我們就需要自己編寫度量值了,這個(gè)如果有同學(xué)想知道的話,我們后面有機(jī)會再聊聊。

3、總結(jié)一下

本文介紹了數(shù)據(jù)透視表中的值匯總依據(jù):非重復(fù)計(jì)數(shù)

? 普通數(shù)據(jù)透視表沒有辦法使用非重復(fù)計(jì)數(shù)。

? 超級透視表(Power pivot)可以使用非重復(fù)計(jì)數(shù)。

?? 創(chuàng)建超級透視表:只需要在插入數(shù)據(jù)透視表中,勾選將此數(shù)據(jù)添加到數(shù)據(jù)模型中。

非重復(fù)計(jì)數(shù)使用到的對應(yīng) Dax 函數(shù)是:DISTINCTCOUNT 函數(shù)

該函數(shù)只需要一個(gè)參數(shù),列名或者表名。

=DISTINCTCOUNT(去除的列名,或者表名稱)

?? 超級透視表的計(jì)算原理:先對外部的篩選環(huán)境進(jìn)行篩選,然后利用度量值公式計(jì)算,這也就是為什么上面案例中,總計(jì)的值跟數(shù)據(jù)求和結(jié)果不一樣的緣故。

本文可能難度稍高,但重在引導(dǎo)大家認(rèn)識超級透視表這個(gè)強(qiáng)大的工具!

大家在工作中,非重復(fù)計(jì)數(shù)一般用在哪些場景呢?

本文來自微信公眾號:秋葉 Excel (ID:excel100),作者:小爽

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:Excel教程,Excel學(xué)院

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會買 要知