如何在 Excel 中垂直拆分儲存格值?
在使用 Excel 時,您可能會遇到需要將單行或多行中的多個值轉換為垂直列表的情況。這在數據以水平格式存儲但需要以列格式進行處理或分析時特別有用。
本指南將介紹三種高效的方法來垂直轉換儲存格值:
在 Excel 中垂直將儲存格值拆分到多行
- 使用公式(Excel 365)– 適合動態和自動轉換的最佳選擇
- 使用 Kutools for Excel – 對所有 Excel 版本來說,這是一種快速且簡單的解決方案,擁有專用工具
- 使用 VBA 程式碼 – 適合對所有 Excel 版本自動化該過程
通過公式(Excel 365)垂直將儲存格值拆分到多行
如果您使用的是 Excel 365,您可以利用 TEXTSPLIT、TEXTJOIN 和 TRANSPOSE 函數來實現無需手動操作的垂直轉換儲存格值。
請將以下公式複製並粘貼到空白儲存格中,然後按下「Enter」鍵,Excel 將自動將數據溢出到多行,請參見截圖:
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(";", TRUE, A1:A4), ";"))
- TEXTJOIN(";", TRUE, A1:A4 ): 將 A1 到 A4 儲存格中的文字連接成一個由分號 (;) 分隔的單一字串。
- TEXTSPLIT(...): 使用分號作為分隔依據,將組合的字串重新分割成單獨的值。
- TRANSPOSE(...): 將生成的垂直值列表轉換為水平行(或者根據原始方向進行反向操作)。
✅ 優點:
- ✔ 動態更新:如果源數據發生變化,公式會自動更新結果。
- ✔ 無需手動操作:消除了重複手動拆分的需要。
- ✔ 可自訂分隔符:將分號 (;) 替換為任何分隔符(例如逗號、空格)以適應您的數據。
❌ 缺點:
- ✘ 僅適用於 Excel 365,不適用於舊版 Excel。
使用 Kutools for Excel 垂直將儲存格值拆分到多行
如果您使用的是 Excel 2019 或更早版本,可以使用「Kutools for Excel」—— 一款功能強大的外掛程式,擁有專門的工具來輕鬆轉換和管理數據。借助其「拆分到多行」功能,您可以根據所需的任何分隔符無縫地將儲存格值垂直轉換。
安裝「Kutools for Excel」後,請按照以下步驟操作:
- 點擊「Kutools」>「合併與分割」>「拆分到多行」,請參見截圖:
- 在「拆分到多行」對話框中,指定以下操作:
- 選擇要拆分的儲存格;
- 在「分隔依據」部分,選擇分隔符以定義如何拆分儲存格內容。這裡我將選擇「分號」。
- 最後,點擊「確定」按鈕。
結果:數據將被轉換為垂直列。
✅ 優點:
- ✔ 適用於所有 Excel 版本(2010、2013、2016、2019、2021、365)
- ✔ 無需複雜的公式或編程。
- ✔ 支持廣泛的分隔符。
- ✔ Kutools 提供超過 300 種數據操作工具,節省其他任務的時間。
❌ 缺點:
- ✘ 需要安裝 Kutools
使用 VBA 程式碼垂直將儲存格值拆分到多行
對於高級用戶,VBA 提供了一個穩健的解決方案,可自動化垂直拆分儲存格值的過程。以下 VBA 程式碼讓您可以輕鬆地使用任何自訂分隔符將儲存格內容拆分到多行。
1. 按住「ALT」+「F11」鍵打開「Microsoft Visual Basic for Applications」窗口。
2. 點擊「插入」>「模組」,並將以下程式碼粘貼到「模組」窗口中。
VBA 程式碼:通過特定分隔符垂直將儲存格值拆分到多行
Sub splitvertically()
'updatebyExtendoffice
Dim xRg As Range
Dim xOutRg As Range
Dim xCell As Range
Dim xTxt As String
Dim xStr As String
Dim xOutArr As Variant
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOutRg = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
If xOutRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xStr = "" Then
xStr = xCell.Value
Else
xStr = xStr & ";" & xCell.Value
End If
Next
xOutArr = VBA.Split(xStr, ";")
xOutRg.Range("A1").Resize(UBound(xOutArr) + 1, 1) = Application.WorksheetFunction.Transpose(xOutArr)
End Sub
3. 然後按下「F5」鍵運行程式碼,將彈出提示框提醒您選擇要垂直拆分的儲存格值,請參見截圖:
4. 接著點擊「確定」按鈕,另一個框將彈出提醒您選擇一個儲存格放置結果,請參見截圖:
5. 點擊「確定」按鈕,儲存格值已經通過分隔符拆分為列表,請參見截圖:
✅ 優點:
- ✔ 自動化過程,節省時間
- ✔ 適用於所有 Excel 版本
- ✔ 可針對不同分隔符進行自訂
❌ 缺點:
- ✘ 需要具備基本的 VBA 編程知識
- ✘ 對初學者來說稍微複雜
在 Excel 中垂直轉換儲存格值可以通過多種方法實現,每種方法都有其自身的優勢。通過了解這些方法,您可以根據自己的需求選擇最佳方案,並優化在 Excel 中的工作流程。無論您是初學者還是高級用戶,這些工具和技術都將幫助您更有效率地處理數據。如果您有興趣探索更多 Excel 技巧,我們的網站提供了數千個教程,幫助您精通 Excel。
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!