在做分組報(bào)表統(tǒng)計(jì)時(shí),我們經(jīng)常會被要求按照數(shù)據(jù)升序或降序排序。在 group 函數(shù)的參數(shù)中,我們可以指定分組后對組的排序表達(dá)式,這樣報(bào)表展現(xiàn)時(shí)能夠直接根據(jù)該表達(dá)式進(jìn)行排序了。我們先來看一個(gè)簡單的例子,如下圖所示:
成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為龍泉等服務(wù)建站,龍泉等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為龍泉企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。其中,A1 表達(dá)式為:=ds1.group(貨主地區(qū), 貨主地區(qū)!=null; 貨主地區(qū);ds1.sum( 數(shù)量 * 單價(jià)))
意思是:在根數(shù)據(jù)集 ds1 中取出貨主地區(qū)不為空的數(shù)據(jù),并按照貨主地區(qū)進(jìn)行分組,分組后求出每組的總價(jià) sum(數(shù)量 * 單價(jià)),然后按照這個(gè)匯總值對組進(jìn)行升序排列。
分組排序后的效果如下圖所示:
但是有些時(shí)候,某些單元格的數(shù)據(jù)可能是通過其他單元格計(jì)算后的結(jié)果,這樣就無法通過 group 函數(shù)的參數(shù)來指定了,例如下圖這樣:
報(bào)表 D2 單元格的數(shù)據(jù)是根據(jù)前兩個(gè)單元格相減計(jì)算后的結(jié)果,這時(shí)就無法通過 group 函數(shù)來完成排序控制操作了,那么有什么方法能夠?qū)崿F(xiàn)依據(jù)這樣計(jì)算出來的單元格結(jié)果進(jìn)行排序呢?
(苦思冥想中····)額,我可以做一個(gè)排名,但是排序要怎么做呢?
Bingo··答對了一半,就是需要先排名哦。
下面由我給大家詳細(xì)講解一下實(shí)現(xiàn)流程:
1)首先按照上圖中展現(xiàn)的報(bào)表格式,在 A 列左邊和下邊分別插入行、列,并且給報(bào)表追加一列。形成如下如所示的樣式:
2)然后在 A3 中寫表達(dá)式 =to(1,count(B2{}))。
3)在 F2 單元格中按照 E2 單元格的數(shù)據(jù)計(jì)算排名, 寫入表達(dá) =count(E2[`0]{E2<$E2})+1。如下圖所示:
A3 中的表達(dá)式是為了控制該行進(jìn)行縱向擴(kuò)展,有幾個(gè)地區(qū)就擴(kuò)展幾行,這樣報(bào)表在展現(xiàn)時(shí)就會在下方增加一片數(shù)據(jù)區(qū)域,并且第一列是 1、2、3 這種編號形式。而 F2 單元格則是根據(jù)實(shí)際金額做了對應(yīng)的排名,出來的值也是 1、2、3 的形式。這樣,就可以根據(jù)排名對數(shù)據(jù)進(jìn)行選擇了。
4)在 B3 單元格中寫入表達(dá)式:=B2{F2==$A3}。
這個(gè)表達(dá)式的意思是:從 B2 單元格中取數(shù),但是取數(shù)時(shí)加上了限定條件:F2(排名)單元格的值等于這一行的 A3(序號)單元格的值,也就是從 B2 單元格中按照排名順序取出對應(yīng)的地區(qū)放在 B3 單元格中。預(yù)覽的效果如下圖所示:
其余 C3、D3、E3 幾個(gè)單元格的情況類似:
然后再將沒用的行列隱藏掉,就能夠?qū)崿F(xiàn)我們的的需求了,即按照單元格表達(dá)式的計(jì)算結(jié)果進(jìn)行排序展現(xiàn),結(jié)果如下:
【總結(jié)一下:】
在上面的示例中,表達(dá)式:=B2{F2==$A3} 是【層次坐標(biāo)】的用法。主要是在進(jìn)行報(bào)表設(shè)計(jì)時(shí),單元格尚未進(jìn)行擴(kuò)展,但是其它某些單元格的表達(dá)式往往需要對這個(gè)單元格擴(kuò)展后的單元格進(jìn)行精確定位并運(yùn)算。
【層次坐標(biāo)】的具體使用方法可以看一下教程里面的 12.3.2 章節(jié)。
好啦,<(  ̄▽ ̄ )/> 按照上面操作步驟,根據(jù)計(jì)算后的結(jié)果排序就完成啦。
詳情鏈接:
http://c.raqsoft.com.cn/article/1533716965785?r=gxy