更新於 2024/04/06閱讀時間約 3 分鐘

怎麼互換欄列(轉置)?

今天你收到這樣的一份資料:
但你想把 A 欄的姓名、電話、E-mail 跟年齡放到第一列,而且也想讓相對應的資料一起跟著換過去,達到這個效果:
怎麼做?難道需要一筆一筆複製貼上、手動花好幾分鐘才能做好嗎?
不用的!今天來介紹轉置(Transpose),兩招可以讓你輕鬆做好欄列互換 (ノω)ノ

貼上轉置資料

1) 先把你想互換的範圍選起來。
2) 剪下(Ctrl/Command + X)或複製(Ctrl/Command + C)。你也可以去工具列的「編輯」、按剪下或複製也可以。
我用的是 Mac,所以快捷鍵跟 Windows 會有一點不一樣唷!
3) 回到試算表上,選取你想要貼上的位置。假設是 A6 好了:
4) 再來再到工具列的「編輯」,找到「選擇性貼上」,按下「貼上轉置資料」:
5) 成功囉!超簡單~
如果你的表裡面有任何函式和算式,這樣的貼上也會跟著適用上去唷!
不過因為貼上的表是靜態的、不會和上面的表連動,所以如果上面的表(A1:D4)有任何值的更改,下面的表是不會有反應的。
如果你有這樣動態處理的需求,可以看看下面的 TRANSPOSE 函式。

TRANSPOSE 函式

還有另外一個轉置的方法,就是用 TRANSPOSE 函式。語法非常單純:
=TRANSPOSE(範圍位址)
步驟也很簡單:
1) 先選取你要出現轉置後的表格的地方,這邊也假設是 A6 好了:
2) 我們要轉置的範圍是 A1: D4,在儲存格寫下:
=TRANSPOSE(A1:D4)
3) 痛快按下 Enter!

幾點要注意
1) 格式不會過來
你會注意到這個 TRANSPOSE 的效果跟剛剛有一點點不一樣,黃底的儲存格格式沒有跟著過來,這個就沒辦法、得手動改一下囉!
2) 跨工作表的參照要寫對
就算你要轉置的資料在別的工作表,TRANSPOSE 也一樣可行的,只要注意跨頁的參照有沒有寫好即可:
=TRANSPOSE('工作表'!A1:D5)
3) 無法直接編輯、會出現 #REF! 錯誤
另外,要注意的是,我們不能對 TRANSPOSE 出來的資料直接編輯。如果這麼做的話,會出現 #REF! 的錯誤:
要排除這個錯誤,就要回去看一下 #REF! 的錯誤訊息顯示什麼。以上圖來說,錯誤是因為 D9 的值造成的,那這邊只要把 D9 上面的值就好囉。

推薦應用方法
如果你的資料是動態的(例如透過 IMPORTRANGE、QUERY 生成的範圍),我也很推薦用 TRANSPOSE 來幫你轉置。我常用的應用方法有這兩個:
1) 轉置 IMPORTRANGE 進來的資料:
=TRANSPOSE(IMPORTRANGE(...))

例:
=TRANSPOSE(IMPORTRANGE("https://docs.google.com/spreadsheets/d/...", 
"工作表1!A:E"))
2) 轉置 QUERY 出來的結果:
=TRANSPOSE(QUERY(

例:
=TRANSPOSE(QUERY(A:H, "SELECT * WHERE C = 'Yes'"))

今天的教學就是這麼簡單,這麼簡短!
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.