前景提要
最近有同事讓我?guī)兔纯从袥]有什么好方法來幫助他統(tǒng)計下假期期間各分店的銷售總和甚疟,求和仗岖,不是有最簡單的求和函數(shù)SUM嗎?直接丟給他一句不是有求和公式嘛览妖,但是他還是一臉無奈的讓我過去幫忙轧拄,本著大家都是同事的心態(tài),我還是跑過去看看有啥可幫忙的讽膏,一看數(shù)據(jù)檩电,額,府树,俐末,好像并不是一般的數(shù)據(jù)匯總那么簡單呢
場景說明
我們先來看看這份數(shù)據(jù)表。奄侠。卓箫。。你們看了應(yīng)該就知道我為什么說不是一般的數(shù)據(jù)匯總那么簡單了垄潮。
原來他這里是有幾個店鋪在假期期間的銷售量烹卒,但是登記數(shù)據(jù)的時候,為了更加清楚直接的展示每個分店的銷售數(shù)據(jù)弯洗,所以是分開來登記的旅急,并沒有全部匯總在一列進(jìn)行登記,這樣一來雖然能夠比較清楚的分店的銷售牡整,但是對于總公司來說藐吮,在匯總總數(shù)的實(shí)獲, 就非常的麻煩了逃贝,如果你僅僅是想要得到最終的銷售總量還可以直接求和谣辞,敲幾下計算器就好,但是很多時候秋泳,老板可能需要的數(shù)據(jù)就更加的詳細(xì)潦闲,比方說,需要精確到每個商城的銷售量啊
從圖中可以看出來迫皱,每個店鋪的產(chǎn)品也各不同相同歉闰,當(dāng)然也有相同的,你肉眼去看卓起,也許OK和敬,但是難免會有眼花,而且如果這份數(shù)據(jù)不僅僅是只有這么幾行呢戏阅?
其實(shí)說到分類統(tǒng)計的話昼弟,很多的童鞋都會在第一時間想到透視表,沒錯奕筐,透視表確實(shí)是能夠?qū)崿F(xiàn)這個功能舱痘,但是她只針對數(shù)據(jù)都在一列的情況下变骡,但現(xiàn)在數(shù)據(jù)有好幾列,就沒有辦法呢芭逝,那要怎么版呢塌碌?
函數(shù)說明
我當(dāng)時腦海之中立刻想到了一個函數(shù),Consolidate( )旬盯,他也可以理解為一個制作透視表的函數(shù)台妆,其實(shí)他的功能還是比較多的,但是在平時的操作中胖翰,小編更多還是用在透視表的制作上面接剩,所以我們今天就用Consolidate( )來實(shí)現(xiàn)透視表的制作吧
上代碼
Sub test()
Range("m1").Consolidate Array("R1C1:R9C2", "R1C4:R9C5", "R1C7:R9C8", "R1C10:R9C11"), xlSum, True, True, False
Range("m1") = "分店產(chǎn)品" '在M1單元格指定縱標(biāo)題
End Sub
我們來看看效果
是不是很完美
代碼解析
今天的代碼非常的簡短,我們主要說下Consolidate( )這個函數(shù)的使用方法萨咳,
Array("R1C1:R9C2", "R1C4:R9C5", "R1C7:R9C8", "R1C10:R9C11")
從代碼種我們可以看到懊缺,在Consolidate( )函數(shù)的使用過程中,我們在區(qū)域上面需要使用R1C1-樣式表示法培他,這點(diǎn)我們需要留意桐汤,并不是簡單的輸入一個range()這樣的區(qū)域就可以了,這一點(diǎn)是這個函數(shù)使用比較麻煩的地方靶壮,R1C1:R9C2代表的就是第一個區(qū)域,代表cells(1,1)到cells(9,2)這個區(qū)域员萍,R1C4:R9C5代表的就是cells(1,4)到cells(9,5)這個區(qū)域腾降。。碎绎。螃壤。。以此類推筋帖,有沒有感覺到和cells的寫法非常的相似奸晴,其實(shí)就是cells()的另外一種寫法,也不算是很難理解日麸。后面的就是固定搭配模式了寄啼,大家記住直接實(shí)用就好。
本安列中我們實(shí)用的是求和的操作結(jié)果代箭,可能在平時墩划,小伙伴們并不一定是需要一個求和的計算,而是求平均值等嗡综,那么怎么辦呢?很簡單的乙帮,將xlsm這個函數(shù)替換掉就可以了,具體的參數(shù)可以參考下面的這份表极景,這份表是我當(dāng)時學(xué)習(xí)的時候察净,從網(wǎng)上找到的驾茴,現(xiàn)在再分享給大家。