KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中刪除空白儲存格,並讓資料自動向左移動?

作者Sun修改日期

在 Excel 中處理資料集時,經常會遇到資料中夾雜著不需要的空白儲存格。這些空白不僅干擾計算、排序與分析,更會影響資料的緊密排列。當資料量龐大時,若手動逐一刪除空白儲存格並逐一向左移動剩餘內容,不僅耗時費力,還容易出錯。本教學將介紹多種快速有效的方法,協助您在資料區域中刪除空白儲存格,並將剩餘內容自動向左移動,讓工作表整潔有序,更利於後續處理與分析。無論您偏好手動操作、公式驅動,還是可程式化的方式,以下解決方案都能滿足不同需求。了解各方法的優勢與取捨,有助於您依實際情況選擇最合適的策略。

原始資料向右箭頭刪除空白儲存格並將資料向左移動

定位功能-刪除空白儲存格並向左移動
Excel 公式-移除空白並將資料向左移動
VBA 程式碼-自動刪除空白儲存格並將資料向左移動


定位功能-刪除空白儲存格並向左移動

當您想刪除空白儲存格並將剩餘資料向左移動時,Excel 提供了一種內建方法,特別適合處理相對較小且結構一致的範圍。若您不希望使用公式或程式設計,這個方法尤其實用。不過,它更適用於一次性基礎清理,而非自動化解決方案或超大型資料集。以下是詳細的操作步驟:

1. 選取包含欲移除空白儲存格的資料區域,範圍可為單一列、多列或整個區域。接著按下 Ctrl + G,開啟定位對話方塊;在該視窗中,點擊特殊以進一步篩選選取範圍。請參閱截圖:
啟用「前往」對話框,然後按一下「特殊」

2. 在定位特殊對話方塊中,勾選空白選項,再點擊確定,即可標示出所選區域中的所有空儲存格。請參閱截圖:
在對話框中勾選「空白」選項

3. 在所有空白儲存格皆被選取後,於任一選取的空白處按右鍵,並從快捷選單中選擇刪除。請參閱截圖:
從內容功能表中選擇「刪除」

4. 在刪除對話方塊中,選取向左移動儲存格選項,再點擊確定,即可讓所有資料自動向左移動,整齊填補先前空白儲存格所造成的空隙!請參閱截圖:
在對話框中勾選「儲存格左移」選項

完成上述步驟後,空白儲存格將被移除,剩餘資料也會向左移動,如下圖所示:

原始資料向右箭頭刪除空白儲存格並將資料向左移動
此手動選取與刪除方法適用於中等規模資料集的快速編輯,並能立即看到結果。但請注意以下事項:若您的範圍包含合併,此方法可能產生錯誤;若您有公式連結至這些儲存格,刪除儲存格可能會影響計算引用。在確認變更前,務必先檢視資料結構。

Excel 公式-移除空白並將資料向左移動

當您需要動態且由公式驅動的解決方案時(例如從列或欄中清除空白,並在原始資料變更時自動更新結果),Excel 的 FILTER 函數(適用於 Excel 365 與 Excel 2021)非常實用!此方法特別適合產生不含空白的新範圍,讓您不僅完整保留原始資料,還能在工作表其他位置輕鬆取得已向左靠攏、無空白的版本。

注意:可用的特定公式取決於您所使用的 Excel 版本。FILTER 函數僅適用於較新版本(如 Excel 365、Excel 2021 或更新版本)。

1. 假設您的資料位於 A1:E10(橫向排列),若要建立不含空白的新列,請選取欲顯示結果的空白儲存格(例如 F1),並輸入下列公式:

=FILTER(A1:E1, A1:E1 <> "")

此公式僅會收集 A1:E1 範圍內的非空白儲存格,並從 F1 開始向左對齊列出。

2. 按下 Enter 後,非空白資料將自動向左填入新範圍,接著只需向下拖曳或複製公式即可!

適用情境:當您希望保留原始來源資料不變,並在其他位置自動產生一個清理過的資料範圍時,建議使用此方法。然而,此方法的限制在於不會覆寫原始資料,而是提供資料的「虛擬」位移版本。

實用技巧:若您希望新範圍僅保留數值,可在套用公式後複製結果,並使用選擇性貼上 > 數值覆寫原始範圍(如有需要)。若將公式複製至其他區域,務必確認儲存格參照已正確調整。


VBA 程式碼-自動刪除空白儲存格並將資料向左移動

若您經常需要刪除空白儲存格,並將剩餘資料向左移動(特別是在大型或結構不規則的資料集中),VBA 巨集能自動化這項重複性任務。此方法直接處理儲存格,真正移除空白,讓每列資料向左「壓縮」;不僅節省寶貴時間,還能在處理複雜工作表時有效避免手動操作錯誤。

1. 點擊 VBA 編輯器以開啟開發人員工具Visual Basic。在彈出的 Microsoft Visual Basic for Applications 視窗中,點擊插入 模組,並將下方程式碼貼入模組區域:

Sub DeleteBlanksShiftLeft()
    Dim WorkRng As Range
    Dim RowRng As Range
    Dim xTitleId As String
    Dim i As Long, c As Long
    Dim TempList As Collection
    Dim Cell As Range
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to process (rows will be processed individually):", xTitleId, WorkRng.Address, Type:=8)
    On Error GoTo 0
    If WorkRng Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    ' Process each row individually
    For Each RowRng In WorkRng.Rows
        Set TempList = New Collection
        ' Collect non-empty values in the row
        For Each Cell In RowRng.Cells
            If Trim(Cell.Value) <> "" Then
                TempList.Add Cell.Value
            End If
        Next Cell
        ' Clear entire row first
        RowRng.ClearContents
        ' Refill row with collected values from left to right
        For i = 1 To TempList.Count
            RowRng.Cells(1, i).Value = TempList(i)
        Next i
    Next RowRng
    Application.ScreenUpdating = True
    MsgBox "All blank cells in rows have been removed and values shifted left.", vbInformation
End Sub 

2. 插入程式碼後,點擊執行按鈕按鈕,或按下 F5 以執行巨集。當系統提示時,請選取目標範圍。巨集將逐列處理資料,向左移動數值以填補空白,並同步移除空儲存格。

適用情境:巨集最適合熟悉啟用與使用 VBA 的使用者,特別適用於需在大型區域例行性移除空白,或應用於重複使用的模板中。此方法會直接修改原始資料,建議您事先備份工作表。若您的資料結構不規則或包含公式,請務必謹慎操作——因巨集以數值為處理對象,可能影響底層的相依關係。

疑難排解提示:若出現非預期結果,可能是因儲存格已合併、含有公式輸出,或處於受保護狀態所致。執行巨集前,請視需要先取消合併、清除公式,或解除儲存格鎖定。

總結建議:盡可能運用公式進行動態且非破壞性的資料轉換,並搭配巨集實現批次原地編輯。執行自動化前,務必先儲存資料副本,並仔細檢查結果,確保工作表版面符合預期!


在 Excel 範圍內以特定間隔批次插入空白列或欄

如果您想每隔一列插入空白列,可能需要逐一插入,但這項工作幾秒內就能完成!立即點擊享 30 天免費試用!
doc insert blank row column
Kutools for Excel:提供超過 300 項實用 Excel 增益集,30 天內可無限制免費試用。

相關文章

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用