Trong môi trường làm việc ngày càng phức tạp, việc quản lý dữ liệu trong Excel trở nên quan trọngurlijk. Một trong những thao tác có thể giúp người dùng tiết kiệm không gian hiển thị và tăng tính trực quan của bảng tính là ẩn những hàng dữ liệu không cần thiết. Tuy nhiên, việc ẩn hàng một cách thủ công khi cần, đặc biệt là khi dữ liệu thay đổi liên tục, là một công việc mất thời gian và dễ gây nhầm lẫn. Đó là lý do tại sao Excel cung cấp nhiều cách tự động ẩn hàng dựa trên giá trị củaFUL cell. Bài viết này sẽ đi sâu vào cách thực hiện, giải thích các công thức, macro VBA, và tính năng Conditional Formatting để thực hiện chức năng này một cách linh hoạt và hiệu quả nhất.
Có thể bạn quan tâm: Dấu Chấm Than Trong Excel: Nghĩa Và Ứng Dụng
1. Tại sao cần auto hide rows?
1.1 Tiết kiệm không gian hiển thị
Khi làm việc với bảng dữ liệu lớn, việc ẩn hàng giúp bạn chỉ xem những dòng quan trọng nhất, tránh rối mắt và giúp tập trung vào dữ liệu chủ chốt.
1.2 Tăng tính tương tác
Trong báo cáo, dashboard, hay bảng điều khiển, người dùng thường muốn nhìn nhanh các kết quả chính mà không bị gián đoạn bởi những dòng dữ liệu không liên quan. Auto hide rows cho phép người dùng tương tác dễ dàng hơn.
1.3 Nâng cao độ chính xác
Bằng cách ẩn các hàng có giá trị không hợp lệ hoặc không nhất quán, bạn giảm thiểu rủi ro khi thực hiện tính toán hoặc báo cáo.
Có thể bạn quan tâm: Tải Xuống Add-in Power Query Cho Excel 2026
2. Các cách tiếp cận phổ biến
Có ba phương pháp chính để tự động ẩn hàng dựa trên giá trị của một ô:
- Sử dụng công thức và Conditional Formatting – không cần VBA.
- Sử dụng tính năng Custom Views – hỗ trợ khi muốn lưu trữ nhiều chế độ hiển thị.
3oui Sử dụng VBA – linh hoạt nhất, có thể thực thi ngay khi dữ liệu thay đổi.
Dưới đây sẽ được trình bày chi tiết từng phương pháp, kèm theo ví dụ và hướng dẫn thực hiện.
Có thể bạn quan tâm: Download Mẫu Sổ Quỹ Tiền Mặt Bằng Excel: Tài Nguyên Đa Dạng Cho Doanh Nghiệp
3. Phương pháp 1: Conditional Formatting + Subtotal
3.1 Giới thiệu
Conditional Formatting (định dạng có điều kiện) trong Excel thường được dùng để tô màu, đánh dấu các ô có giá trị đặc biệt. Tuy nhiên, chúng ta có thể kết hợp với tính năng Subtotal để ẩn hàng ngay lập tức.
3.2 Thực hiện
Bước 1: Chuẩn bị dữ liệu
Giả sử bạn có bảng dữ liệu trong vùng A1:C100. Cột B chứa giá trị bạn muốn kiểm tra (ví dụ: “ok” hoặc “nghi chu”).
Bước 2: Thêm cột helper
Trong cột D, nhập công thức:
=IF(B2="nghi chu",1,0)
Kéo công thức xuống hết vùng dữ liệu. Cột D sẽ chứa giá trị 1 nếu hàng cần ẩn, 0 nếu không.
Bước 3: اہل ẩn hàng
- Chọn toàn bộEOF vùng dữ liệu (A1:C100).
- Vào
Data > Subtotal. - Trong hộp thoại, chọn “At each change in” -> “D” (cột helper).
- Chọn “Use function” -> “Sum” (hoặc bất kỳ hàm nào).
- Chọn “Add subtotal to” -> “D”.
- Nhấn OK.
Sau khi thực hiện, Excel sẽ tạo các nhóm tự động. Bạn chỉ cần click vào dấu “-” bên cạnh nhóm chứa giá trị 1 để collapse (gộp) và ẩn hàng đó. Dù hơi thủ công một chút, Chiefs vẫn giúp bạn nhanh chóng.
3.3 Ưu điểm và hạn chế
- Ưu điểm: Không cần VBA, dễ thiết lập.
- Hạn chế: ẩn hàng không tự động khi dữ liệu thay đổi; bạn phải collapse/expand lại.
4. Phương pháp 2: Custom Viewsrazione
4.1 Giới thiệu
Custom Views cho phép bạn lưu trữ nhiều chế độ hiển thị khác nhau của workbook.ístico, bạn có thể tạo một view dành riêng cho các hàng được ẩn.
4.2 Thực hiện
Bước 1: Đánh dấu dữ liệu cần ẩn
Sử dụng cột helper như trong phương pháp 1 để xác định hàng cần ẩn.
Bước 2: ẩn hàng
- Chọn các hàng có giá trị cần ẩn (cột helper = 1).
- ẩn hàng bằng
Ctrl + 9(Hide).
Bước 3: Tạo Custom View
- Vào
View > Custom Views. - Nhấn
Add, đặt tên “Hidden Rows”, chọn “Print settings” nếu cần. - Lưu.
Bước 4: Lấy lại view
Khi cần xem dữ liệu đầy đủ, vào Custom Views và chọn view “Hidden Rows” để ẩn lại.
ína 4.3 Ưu điểm và hạn chế

Có thể bạn quan tâm: Essentials Of Modern Business Statistics With Microsoft Excel: Hướng Dẫn Toàn Diện
- Ưu điểm: Dễ dàng chuyển đổi giữa các chế độ hiển thị.
- Hạn chế: Cần thao tác thủ công để ẩn/hiện hàng, khôngिया tự động khi dữ liệu thay đổi.
5. Phương pháp 3: 两 VBA (Macro)
VBA cung cấp tính linh hoạt cao nhất. Bạn có thể viết một macro để tự động ẩn hàng khi dữ liệu thay đổi, hoặc khi bạn chạy macro.
5.1 Macro cơ bản để ẩn hàng
Sub AutoHideRows() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ThisWorkbook.Worksheets("Sheet1") ' Thay tên sheet nếu cần lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row Application.ScreenUpdating = False For i = 2 To lastRow If ws.Cells(i, "B").Value = "nghi chu" Then ws.Rows(i).Hidden = True Else ws.Rows(i).Hidden = False End If Next i Application.ScreenUpdating = True
End Sub
- Giải thích: Macro lặp qua từng hàng, kiểm tra giá trị trong cột B. Nếu bằng “nghi chu”, thì ẩn hàng đó.
5.2 Gắn macro vào sự kiện Worksheet_Change
Để macro tự động chạy khi dữ liệu thay đổi, dán đoạn code sau vào module ưở:
Private Sub Worksheet_487cChange(ByVal Target As Range) If Not Intersect(Target, Me.Columns("B")) Is Nothing ThenAd Call AutoHideRows End If
End Sub
- Giải thích: Khi bất kỳ ô nào trong cột B thay đổi, macro
AutoHideRowssẽ được gọi.
5.3 Tối ưu performance
Nếu dữ liệu lớn, việc loop qua từng hàng có thể chậm. Thay vào đó, bạn có thể dùng AutoFilter:
Sub FilterHideRows() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") With ws .AutoFilterMode = False .Range("A1").AutoFilter Field:=2, Criteria1:="nghi chu" .Rows.Hidden = True End With
End Sub
- Giải thích: Dùng AutoFilter để lọc ra các hàng cần ẩn, sau đó ẩn toàn bộ hàng.
5.4 Ẩn/Hiện nhanh bằng nút
Bạn có thể thêm nút vào sheet, gán macro AutoHideRows. Khi nhấn nút, Excel sẽ thực hiện ngay.
- Vào
Developer > Insert > Button (Form Control). - Kéo tạo nút.
- Gán macro
AutoHideRows.
5.5 Lưu ý bảo mật
- Khi chia sẻ workbook, macro có thể bị chặn. Đảm bảo người dùng bật macro hoặc ký digital signature.
- Kiểm tra tính tương thích với phiên bản Excel (Excel 2026, 2026, Office 365, …) để tránh lỗi.
6. Ẩn hàng dựa trên nhiều điều kiện
Bạn có thể mở rộng macro để ẩn hàng khi nhiều điều kiện đồng thời xảy ra. Ví dụ, ẩn hàng nếu B = “nghi chu” và C < 10.
If ws.Cells(i, "B").Value = "nghi chu" And ws.Cells(i, "C").Value < 10 Then ws.Rows(i).Hidden = True
Else ws.Rows(i).Hidden = False
End If
Hoặc sử dụng AutoFilter:
.Range("A1").AutoFilter Field:=2, Criteria1:="nghi chu", Operator:=xlAnd, Criteria2:="<10"
7. Ẩn hàng khi giá trị rỗng
Trong một số trường hợp, bạn muốn ẩn hàng khi ô trống. Macro:
If Trim(ws.Cells(i, "B").Value) = "" Then ws.Rows(i).Hidden = True
Else ws.Rows(i).Hidden = False
End If
Hoặc dùng AutoFilter:
.Range("A1").AutoFilter Field:=2, Criteria1:="="
8. Ẩn hàngование tùy theo giá trị ngày
Giả sử bạn có cột ngày trong cột A. Bạn muốn ẩn hàng nếu ngày < ngày hiện tại.
If ws.Cells(i, "A").Value < Date Then ws.Rows(i).Hidden = True
Else ws.Rows(i).Hidden = False
End If
Hoặc AutoFilter:
.Range("A1").AutoFilter Field:=1, Criteria1:="<"&Date
9. Ẩn hàng dựa trên điều kiện trong một PivotTable
Nếu dữ liệu của bạn nằm trong PivotTable, bạn có thể dùng tính năng Report Filter để ẩn các dòng không thuộc bộ lọc. Tuy nhiên, để tự động ẩn hàng trong PivotTable, bạn cần viết VBA:
Sub HidePivotRows() Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem Set pt = Sheet1.PivotTables("PivotTable1") For Each pf In pt.PivotFields If pf.Orientation = xlRowField Then For Each pi In pf.PivotItems If pi ঝ = "nghi chu" Then pi.Visible = False End If Next pi End If Next pf
End Sub
10. Kiểm thử và xác nhận
10.1 Chuẩn bị dữ liệu mẫu
| ID | Trạng thái | Số lượng | Ngày |
|---|---|---|---|
| 1 | ok | 10 | 12/07/2026 |
| 2 | nghi chu | 5 | 10/07/2026 |
| 3 | ok | 7 | 09/07/2026 |
| 4 | nghi chu | 2 | 08/07/2026 |
10.2 Kiểm tra macro
- Chạy macro
AutoHideRows. - Xem kết quả: Hàng 2 và 4 được ẩn.
- Thay đổi giá trị “nghi chu” thành “ok”.
- Chạy lại macro, các hàng được hiển thị.
11. Tối ưu hóa performance khi làm việc với dữ liệu lớn
11.1 Sử dụng Application.ScreenUpdating = False मां
- Khi macro thực hiện nhiều thao tác, tắt cập nhật màn hình giúp giảm thời gian thực thi.
11.2 Sử dụng Application.EnableEvents = False
- Để tránh macro gọi lại khi thay đổi dữ liệu, tắt sự kiện trong khi chạy macro.
11.3 Sử dụng Range.AutoFilter thay vì loop
- Đối với dữ liệu lớn, AutoFilter nhanh hơn nhiều.
12. Bảo vệ workbook khi sử dụng macro
- Ký digital signature: Đảm bảo macro không bị chặn khi mở workbook trên máy khác.
Đặt password cho workbook: Ngăn);
Sử dụng tính năng “Protect Sheet”: Để ngăn người dùng thay đổi cột helper.
13. Kết luận
Tự động ẩn hàng dựa trên giá trị của ô trong Excel là một kỹ thuật hữu ích giúp người dùng quản lý dữ liệu hiệu quả hơn. Từ những cách đơn giản không cần VBA đến các giải pháp mạnh mẽ nhất như VBA hoặc AutoFilter, bạn có thể chọn phương pháp phù hợp với nhu cầu và trình độ kỹ năng của mình.
- Nếu bạn là người mới: Bắt đầu với Conditional Formatting + Subtotal hoặc Custom Views.
- Nếu bạn có kinh nghiệm với VBA: Viết macro tùy chỉnh để tự động ẩn hàng khi dữ liệu thay đổi.
- Nếu bạn làm việc với dữ liệu lớn: Sử dụng
AutoFilterhoặc viết macro tối ưu vớiScreenUpdatingvàEnableEvents.
Bằng cách áp dụng những phương pháp này, bạn sẽ có thể làm cho bảng tính của mình trở nên sạch sẽ, dễ đọc, và dễ dàng chia sẻ với đồng nghiệp một cách chuyên nghiệp. Cứ thử từng bước, bạn sẽ nhanh chóng nắm bắt được cách tự động ẩn hàng phù hợp nhất với quy trình làm việc của mình.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
