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

如何在 Excel 的篩選範圍中計算空白或非空白儲存格?

作者Xiaoyang修改日期

在 Excel 中處理大型資料集時,通常會運用篩選功能,僅顯示您感興趣的資料。完成篩選後,您可能需要進一步分析這些可見(已篩選)結果,計算其中有多少儲存格為空白或非空白。雖然 Excel 提供了計算可見儲存格的基本功能,但若缺乏合適的方法,要快速統計篩選清單中「僅空白」或「僅非空白」儲存格的數量,仍可能相當棘手。精確取得這些計數至關重要——無論是進行資料清理、彙整問卷回覆,還是追蹤篩選報表中的未完成項目,皆有此需求。本文將介紹多種高效解決方案,涵蓋公式與 VBA 兩大方法,全面滿足各種實際應用情境。同時,您還能獲得常見問題的疑難排解建議,以及針對特定需求靈活調整各解決方案的實用技巧。

使用公式在篩選範圍中計算空白儲存格

使用公式在篩選範圍中計算非空白儲存格

使用 VBA 程式碼在篩選範圍中計算空白或非空白儲存格


使用公式在篩選範圍中計算空白儲存格

若要在篩選範圍中僅計算空白儲存格,可結合使用 SUBTOTAL 函數與輔助欄。此方法特別適用於包含篩選資料的清單——當您希望忽略隱藏資料列,並精準計算指定欄位中可見空白項目的數量時,效果尤佳!

在您希望顯示空白儲存格計數的儲存格中輸入下列公式:

=SUBTOTAL(3,A2:A20)-SUBTOTAL(3,B2:B20)

輸入公式後,按下 Enter 鍵,結果將顯示篩選清單中可見空白儲存格的數量。請參閱下方截圖範例:

使用公式計算篩選範圍中空白儲存格的截圖

說明與使用技巧:

  • 在此公式中,A2:A20 應為輔助欄,且必須確保包含任何空白(例如,填入連續編號或資料列唯一識別碼的欄位)。
  • B2:B20 是您要計算空白儲存格數量的欄位。
  • SUBTOTAL(3, range) 函數會傳回指定範圍內非空白且可見儲存格的計數。透過從輔助欄總數中減去 B2:B20 中的非空白儲存格數量,即可輕鬆得出篩選後(可見)資料中的空白儲存格數量!
  • 此方法僅會計算套用篩選後可見的儲存格,因此不會納入因篩選而隱藏之資料列中的空白儲存格。
  • 請務必將範圍調整為符合您實際資料的區間()A2:A20B2:B20)。輔助欄(A 欄)每一列都必須包含資料;若存在空白,結果可能不準確。

常見問題與疑難排解:

  • 若輔助欄包含隱藏值或空白值,將導致空白計數不正確。請檢查您的輔助欄是否完整無缺。
  • 若您新增或刪除了資料列,請務必調整公式範圍,以免頂端或底端的資料未被納入計算。
  • 請務必確認篩選條件已實際套用,否則小計將涵蓋所有資料列。

使用公式在篩選範圍中計算非空白儲存格

若要計算篩選欄位中可見且非空白儲存格的數量,Excel 提供了極為簡便的解決方案——使用 SUBTOTAL 函數!當您需要精準統計套用篩選後保留的非空白項目數量,並自動忽略所有隱藏資料列時,此方法最為理想。

若要使用此解決方案,請在您希望顯示計數的空白儲存格中輸入下列公式:

=SUBTOTAL(102,B2:B20)

接著按下 Enter 鍵,Excel 將立即計算並顯示限定區域中可見且非空白儲存格的數量。請參閱下方截圖範例:

使用公式計算篩選範圍中非空白儲存格的截圖

說明與使用技巧:

  • 此處,B2:B20 代表您正在分析的欄位,請根據您的資料集調整此範圍。
  • 102 參數用於 SUBTOTAL 函數中,確保僅計算可見儲存格,並自動忽略經篩選隱藏的資料列與空白儲存格。
  • 此解決方案最適合用於單一欄位中的標準篩選清單。

注意事項:

  • 此方法不會計算看似「空白」、實際卻包含傳回空字串(““)之公式的儲存格,因為 Excel 視其為非真正空白。
  • 若您處理的是合併儲存格或不規則區域,請務必再次確認公式輸出結果的準確性。
  • 若新增或移動資料列,請務必記得更新範圍。

使用 VBA 程式碼在篩選範圍中計算空白或非空白儲存格

對於更進階的應用情境——例如篩選範圍包含不連續區域、涉及多個欄位,或需要高度自訂化的處理方式時,VBA 巨集能有效遍歷所有可見儲存格,並精準計算空白與非空白儲存格的數量。當您需要更高的靈活性(例如跨多個欄位統計空白/非空白儲存格,或處理公式難以應付的複雜資料結構)時,此方法尤其適用。

優點與適用情境:

  • 可在單一操作中跨多個欄位及不連續範圍運作
  • 輕鬆適應篩選條件—僅計算可見儲存格
  • 允許您在單一操作中選擇計算空白或非空白儲存格
  • 最適合熟悉執行巨集的進階使用者,且當標準公式無法滿足需求時使用

限制:

  • 需具備 VBA 編輯器存取權限,且已啟用巨集權限
  • 計數邏輯會將包含公式結果為 ““ 的儲存格視為空白

1. 在開發人員索引標籤上,按一下 Visual Basic,即可開啟 Microsoft Visual Basic for Applications 編輯器。在 VBA 視窗中,點選插入 > 模組 以建立新模組,然後將下方程式碼複製並貼上至模組視窗中:

Sub CountVisibleBlanksOrNonBlanks()
    Dim rng As Range
    Dim cell As Range
    Dim countBlanks As Long
    Dim countNonBlanks As Long
    Dim resp As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the filtered range to analyze", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    resp = MsgBox("Do you want to count BLANK cells? (Click No to count non-blank cells)", vbYesNo + vbQuestion, xTitleId)
    
    countBlanks = 0
    countNonBlanks = 0
    
    For Each cell In rng.SpecialCells(xlCellTypeVisible)
        If cell.Value = "" Then
            countBlanks = countBlanks + 1
        Else
            countNonBlanks = countNonBlanks + 1
        End If
    Next cell
    
    If resp = vbYes Then
        MsgBox "Number of visible blank cells: " & countBlanks, vbInformation, xTitleId
    Else
        MsgBox "Number of visible non-blank cells: " & countNonBlanks, vbInformation, xTitleId
    End If
End Sub

2. 按下 F5 執行程式碼。

  • 系統將彈出提示,請您選擇或確認目標範圍。
  • 巨集會詢問您是否要計算空白儲存格(按一下「是」);若要計算非空白儲存格,則按一下「否」。
  • 結果將顯示於訊息方塊中,指出可見的空白或非空白儲存格數量。

操作技巧與錯誤處理:

  • 若您的範圍包含合併儲存格,巨集仍會正確計數,但請留意篩選資料中是否有重疊或錯位的情形。
  • 若您未選取任何範圍便嘗試執行巨集,系統將提示您選取有效的範圍。
  • 處理大型資料集時,巨集可能需要數秒才能完成,請耐心等候結果訊息方塊出現。
  • 若出現「找不到儲存格」的錯誤或對話方塊,請確認您所選範圍至少包含一個可見的資料列,且篩選功能已啟用。

摘要建議:日常使用時,Excel 公式簡單快速,無需額外設定。若需處理多欄位、不連續資料,或追求更高彈性,VBA 解決方案則展現強大適應力。執行巨集前,務必先儲存您的工作,並確認巨集安全性設定已允許執行程式碼。


最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用