1. 描述
在對於分組模板進行頁碼統計時,希望頁碼統計只在當前分組進行即分組了就重新進行編碼,如華東地區這個組内有三頁數據而華北地區這個組内有兩頁數據,其效果如下:
2. 思路
首先通過每頁固定行數來計算每組所需的總頁數,如上圖中華東 3 頁,華北 2 頁;
其次使用當前頁 $$page_number 減去之前組的總頁數獲得該頁在當前組的頁碼,如上圖華北的第一頁數據所在 $$page_number爲4,減去之前組總頁數 3,就是該頁在華北組的頁碼。
3. 示例
假設已存在如下表樣,其數據來源於 FRDemo 的銷量表:
添加數據集 ds1,SQL 語句爲SELECT * FROM 銷量
3.1 按組分頁及每頁顯示固定行數
按組分頁:右擊 A3 單元格,選擇其他屬性>行後分頁;
每頁顯示固定行數如 10 行:右擊 B3 單元格,選擇條件屬性>添加條件>行後分頁,當滿足公式&B3 % 10 == 0時,該屬性起作用;
重複标題行:将 1~2 行設爲重複标題行,使其每頁重複顯示。
3.2 頁碼設置
首先我們要獲取當前分組爲第幾個分組,在 A1 單元格中輸入公式:=&A3,并将其左父格設置爲 A3 單元格。
其次在B1單元格中輸入公式:=roundup(count(B3) / 10, 0) + B1[A3:-1],獲取當前分組的頁碼與上個分組的頁碼的總頁碼。
注:roundup(count(B3)/10,0)即獲取當前分組的頁碼,roundup 爲向上取整, B1[A3:-1]爲獲取上一個 A3 分組内 B1 單元格的值。整個公式的意義在於獲取當前分組的頁碼與上個分組的頁碼之和。
然後在 E1 單元格中輸入公式:=if(A1= 1, $$page_number + "/" + roundup(count(B3) / 10, 0), $$page_number - B1[A3:-1] + "/" + roundup(count(B3) / 10, 0))。
注:$$page_number + "/" + roundup(count(B3) / 10, 0)表示當前頁在當前分組的第幾頁。整個公式的意義在於如果 A1 即當前分組爲 1,就直接爲當前頁/當前分組總頁數;如果不爲 1,則當前頁碼減去之前所有分組的總頁數和。
A1、B1 都爲中間運算結果,可以設置單元格格式>其他屬性>不預覽單元格内容,不顯示。
點擊分頁預覽即可看到上圖效果。
4. 模板下載
點擊下載模板:根據分組設置頁碼.cpt