GROUPBY 的第四參數(shù)官方描述為"Field_headers 一個(gè)介于 0 和 3 之間的數(shù)字,指定字段數(shù)據(jù)是否具有標(biāo)頭以及是否應(yīng)在結(jié)果中返回字段標(biāo)頭"。
表格的標(biāo)題部分一般叫做"表頭",不知道 GROUPBY 中為什么翻譯成"標(biāo)頭"。個(gè)人認(rèn)為還是"表頭"更符合漢語的表達(dá)習(xí)慣,故而下文中統(tǒng)統(tǒng)用"表頭"一詞。
在編輯欄輸入公式時(shí)系統(tǒng)會(huì)給出該參數(shù)的四個(gè)選項(xiàng),用戶可以自定義是否顯示表頭信息,看似簡(jiǎn)單卻暗藏殺機(jī)。
下圖所示的匯總結(jié)果 2530 比正確結(jié)果 2860 少了 150,問題就出在第四參數(shù)設(shè)置錯(cuò)誤。
=GROUPBY(A2:A10,C2:C10,SUM,1)
選項(xiàng) 0 表示"字段數(shù)據(jù)沒有標(biāo)頭,并且不應(yīng)在結(jié)果中顯示字段標(biāo)頭"。這也是省略 field_headers 時(shí)的默認(rèn)選項(xiàng)。簡(jiǎn)單概括為無表頭,且不顯示表頭。
無表頭是指第一第二參數(shù)中沒有表頭,而不顯示表頭是指 GROUPBY 輸出的結(jié)果中不顯示表頭。
如下錯(cuò)誤案例中,第一二參數(shù)中包含表頭的同時(shí)第四參數(shù)設(shè)置為 0,表頭會(huì)被當(dāng)做需要分類匯總的數(shù)據(jù)處理:
=GROUPBY(A1:A10,C1:C10,SUM,0)
個(gè)人首推該選項(xiàng),表頭不參與運(yùn)算,自行添加標(biāo)題也沒有想象中麻煩。
選項(xiàng) 1 表示"字段數(shù)據(jù)具有標(biāo)頭,但不應(yīng)在結(jié)果中顯示"。即第一第二參數(shù)中有表頭,但 GROUPBY 輸出的結(jié)果中不顯示。
關(guān)鍵仍然在于設(shè)置為 1 時(shí)第一二參數(shù)必選包含表頭,否則首行數(shù)據(jù)將被作為表頭而無法參與運(yùn)算,本文第一個(gè)案例就是反面教材。正確的做法如下:
=GROUPBY(A1:A10,C1:C10,SUM,1)
咋一看有語病,簡(jiǎn)單案例恍然大悟:
=GROUPBY(A2:A10,C2:C10,SUM,2)
GROUPBY 按自己的規(guī)則顯示表頭。
關(guān)鍵問題仍然是當(dāng)你選擇了"有表頭"時(shí)務(wù)必確保第一二參數(shù)有包含表頭。
前文中有推薦大家不要讓表頭參與運(yùn)算,必要時(shí)手動(dòng)輸入,畢竟美觀程度上要略遜一籌,說不定還會(huì)逼瘋一些強(qiáng)迫癥。所以自定表頭的方法還是需要掌握。
多功能匯總時(shí)無論第四參數(shù)怎么設(shè)置都會(huì)把功能函數(shù)顯示出來:
=GROUPBY(A2:A10,C2:C10,HSTACK(SUM,PERCENTOF))
=GROUPBY(A1:A10,C1:C10,HSTACK(SUM,PERCENTOF),3)
很可惜,這仍然不符合大眾的習(xí)慣。
簡(jiǎn)單粗暴的方式是不生成表頭的同時(shí) DROP 掉首行,再用 VSTACK 強(qiáng)行拼接一個(gè)表頭:
=VSTACK({"匯總表","銷量總和","銷量占比"},DROP(GROUPBY(A2:A10,C2:C10,HSTACK(SUM,PERCENTOF)),1))
另一個(gè)方式是在運(yùn)算過程中拼接:
=GROUPBY(A2:A10,C2:C10,VSTACK(HSTACK(SUM,PERCENTOF),{"銷量總和","銷量占比"}))
聯(lián)系客服