層次座標是實現複雜報表的一個重要功能。
在進行模板設計時,單元格尚未進行擴展,但是有些時候需要獲取擴展後的單元格並進行計算。例如,A1單元格擴展成A1-A5,如果某個單元格的值希望對擴展後的A2和A3進行求和,在擴展前,表達式很難描述這樣的關係,而對於擴展後單元格的唯一性的定義,就是單元格的層次座標。
工具/原料
圖表控件:FineReport
電腦
方法/步驟
絕對層次座標
用於獲取擴展後某一位置上的值。如獲取A1擴展後的A3單元格的值,就可以在別的單元格如B1中輸入=A1[A1:3],其公式意義在於獲取A1擴展後的第三個單元格的值,其效果如下:
注:如果為橫向擴展,則公式為:=A1[;A1:3]。
絕對層次座標的具體使用方法及應用可查看比較章節。
相對層次座標
能夠獲取上一行、下一行、上一列、下一列等與當前位置有一定偏移的位置上的值。如獲取上一個A1單元格的值,可以在別的單元格如B1中輸入=A1[A1:-1],根據絕對層次座標可知,該公式可以直接使用層次座標公式:=HIERARCHY(A1),其效果如下:
相對層次座標的具體使用方法及應用可查看環比章節。
獲取單元格擴展出來的所有值
如想獲取單元格擴展出的所有值,可以使用=Cell[!0]來獲取,如獲取A1單元格所有擴展出的值,就可以在B1單元格中輸入=A1[!0],其效果如下:
獲取擴展單元格中滿足條件的值
如想獲取擴展單元格滿足條件的值,可以使用=Cell[!0]{條件}獲取,如獲取A1單元格擴展出的不為3的值,則在B1單元格中輸入=A1[!0]{A1!=3},其效果如下:
獲取單元格擴展出的最後一個值
想獲取單元格擴展出的最後一個值,可以通過使用=Cell[Cell:!-1]獲取,如獲取A1單元格擴展出的最後一個值,則在B1單元格中輸入=A1[A1:!-1],其效果如下:
獲取單元格擴展的位置
想獲取單元格擴展後每個單元格的位置,可以通過使用=&Cell獲取,如獲取A1單元格擴展出每個值的位置,則在B1單元格中輸入=&A1,其效果如下: