TRANSPOSE函數將水平單元格區域返回為垂直單元格區域,反之亦然。
什么情況下使用TRANSPOSE函數?
TRANSPOSE函數能夠修改數據的方向,或者用于其它函數中:
改變水平數據為垂直數據
顯示連續多年最高的總薪水
改變數據方向,無需鏈接,使用“選擇性粘貼 > 轉置”。
TRANSPOSE函數語法
TRANSPOSE函數語法如下:
TRANSPOSE(array)
array是要轉置的數組或者單元格區域
TRANSPOSE函數陷阱
TRANSPOSE必須作為數組公式輸入,即按Ctrl+Shift+Enter組合鍵
TRANSPOSE目標區域必須與對應的數組有相同的行數和列數
示例 1: 修改水平數據為垂直數據
如果數據在工作表中水平排列,那么可以使用TRANSPOSE函數在不同的位置垂直地列出數據。例如,在匯總工作表或者儀表盤中,垂直布局可能是最好的。使用TRANSPOSE函數,可以鏈接到原始的水平數據,而無須修改布局。
將2行×4列水平區域轉置成4行×2列的垂直區域:
選擇想要垂直地顯示數據的8個單元格 ?— 本例中的單元格區域B4:C7
輸入公式,然后按Ctrl+Shift+Enter組合鍵,即以數組公式輸入
=TRANSPOSE(B1:E2)
在公式的開頭和末尾自動添加了花括號,表明是數組公式。
代替使用TRANSPOSE函數,可以使用另一個公式來顯示數據,例如INDEX函數。不需要數組輸入,并且在創建公式時無須選取所有目標單元格。
=INDEX($B$2:$E$2,,ROW()-ROW(C$4)+1)
示例 2: 改變方向但沒有鏈接
如果只想改變數據的方向而無須保持對原始數據的鏈接,那么可以使用“選擇性粘貼”:
選取原始數據并復制
選取目標區域左上角單元格
在“開始”選項卡中,單擊“粘貼”下拉箭頭
單擊“轉置”
(可選) 刪除原始數據
示例 3: 匯總連續幾年最高的總薪水
TRANSPOSE函數能夠用于其它函數,例如下面“令人瞠目”的公式中,計算連續5年最高的總薪水。
=MAX(MMULT(A8:J8,–(ABS(TRANSPOSE(COLUMN(A8:J8))
-COLUMN(OFFSET(A8:J8,0,0,1,COLUMNS(A8:J8)-Number+1))
-(Number-1)/2)<Number/2)))
正如在公式欄中看到的花括號,這個公式是數組形式輸入。單元格A5被命名為Number,已經輸入4,即本例中的年數。
這個公式測試單元格區域是否有足夠的連續列。將這些測試的結果(1或0)乘以單元格值,以獲得總薪水。
要檢查結果,在薪水下面的行中,顯示每個起始單元格的總薪水,最大值以黃色突出顯示。這種方式完成了前面的公式在一個單元格中即獲得所要的結果。