說明
使用此功能可將垂直範圍的單元格轉換為水平範圍,反之亦然。
這對於改變工作表中資料的方向、將行轉換為列或將列轉換為行非常有用。
語法
TRANSPOSE(array)
輸入
此函式接受下列參數:
| 名稱 | 必要 | 說明 | 有效輸入 |
|---|---|---|---|
| 陣列 | 是 | 要轉換的儲存格範圍或陣列。 | 一個儲存格、一個儲存格範圍或一個公式,其結果為其中之一。可以包含數字、文字或兩者皆有。 |
範例
範例資料
| A | B | C | D | |
|---|---|---|---|---|
| 1 | PRODUCT | 價格 | 數量 | 銷售 |
| 2 | Apple | 1.50 | 100 | $150.00 |
| 3 | 橙色 | 2.00 | 95 | $190.00 |
| 4 | 金桔 | 2.45 | 45 | $110.00 |
| 5 |
公式範例
| 使用案例 | 公式 | 說明與結果 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 移位陣列 A1:C3 中的所有儲存格。 | =transpose(a1:c3) |
對於此資料集,如果公式位於 E1 單元格,則此公式將返回以下內容:
|
||||||||||||
| 將產品類別的長清單轉換成報告的水平標題列,確保沒有重覆且排序正確。 | =transpose(sort(unique(a2:a5))) |
此公式首先使用UNIQUE 來取得垂直清單中的項目(可能包含重複項目),並移除重複項目,SORT 將結果按字母或數字排序,然後以水平方式 TRANSPOSE 顯示。對於此資料集,此公式將返回以下內容:(0 "是因為第 5 行為空。)
|
||||||||||||
| 如果產品的總銷售額(數量 × 價格)超過 120 美元,則水平顯示產品名稱。 | =transpose(filter(a2:a4, sumif(c2:c4,c2:c4,d2:d4)120)) |
此公式首先使用SUMIF 計算銷售總額,然後使用FILTER 篩選出價值大於 100 美元的銷售總額,TRANSPOSE 然後以水平方式顯示結果。對於此資料集,此公式將返回以下結果:
|
||||||||||||
| 建立摘要檢視,從資料集中抽取特定欄位,並以不同方向顯示,以利報告。 | =transpose(index(a2:c10, sequence(3), {1,3})) |
此公式首先使用INDEX 從範圍
|
附註
- 與所有陣列函數一樣,TRANSPOSE 會從包含 TRANSPOSE 函數的儲存格開始,動態地在相鄰的儲存格間填充結果。
重要: 目的地範圍不能與來源範圍重疊。 - 轉置
- 從公式所在的儲存格開始,並自動將結果溢出到鄰近的儲存格,必要時建立新的行或列。
- 以下項目需要驗證:
- 連結已轉移到新的儲存格。
- 格式 - 包括值格式樣式格式 - 會轉移到新的儲存格。
- 註解不會轉移。
提示
- 如果有標頭行,請將陣列值往下移一行(例如在上述資料集中,從 A2 開始,而不是 A1)。
- 您可以在轉換資料時加入標題,方法是加入VSTACK 或HSTACK 。
- 如果引用範圍包含空單元格,TRANSPOSE 可能會返回
0,而不是空白(請參閱上面的示例)。在公式中使用IF(A1="", "", A1)處理空白。 - 使用INDEX搭配 TRANSPOSE 來擷取和轉換特定欄位 (請參閱上面的範例)。
相關功能
以下是 Workiva 電子試算表支援的其他陣列公式函數。