Mở đầu: Tại sao việc copy khi lọc trong Excel lại quan trọng?
Excel là công cụ mạnh mẽ trong việc xử lý và phân tích dữ liệu. Trong quá trình làm việc, chúng ta thường phải lọc (filter) dữ liệu để chỉ hiển thị những dòng thỏa mãn một tiêu chí nhất định, ví dụ như các đơn hàng trong tháng hiện tại, khách hàng có doanh thu trên 1 tỷ, hay sản phẩm còn tồn kho dưới mức cảnh báo. Khi dữ liệu đã được lọc, nhu cầu copy (sao chép) các dòng đã lọc ra một vị trí khác, hoặc sang một file mới, là rất thường gặp.
Tuy nhiên, nhiều người dùng Excel mới gặp phải vấn đề: khi Ctrl + C và Ctrl + V các ô đã lọc, Excel sẽ sao chép tất cả dữ liệu, bao gồm cả các dòng ẩn, dẫn đến kết quả không như mong muốn. Điều này không chỉ gây mất thời gian mà còn làm sai lệch báo cáo, phân tích.
Bài viết này sẽ cung cấp cho bạn tất cả các phương pháp copy khi lọc trong Excel, từ cách dùng tính năng sẵn có, tới các thủ thuật nâng cao, macro VBA, và thậm chí cả Power Query. Bạn sẽ nắm vững cách:
Copy chỉ các ô hiển thị (visible cells only) trong Excel.
Copy toàn bộ bảng lọc sang một sheet khác.
Copy và dán dưới dạng giá trị, công thức, định dạng, hoặc liên kết.
Sử dụng phím tắt nhanh gọn.
Tự động hoá bằng VBA cho các công việc lặp lại.
Áp dụng trong các tình huống thực tế như báo cáo bán hàng, quản lý kho, phân tích dữ liệu tài chính.
Hãy cùng đi sâu vào từng bước chi tiết, kèm ví dụ thực tế và hình ảnh minh hoạ (mô tả bằng lời) để bạn có thể áp dụng ngay vào công việc của mình.
Bước 2: Vào thẻ Data → Filter (hoặc nhấn Ctrl + Shift + L). Các mũi tên sẽ xuất hiện ở tiêu đề cột.
Bước 3: Nhấp vào mũi tên, chọn Text Filters, Number Filters, hoặc Date Filters tuỳ thuộc vào loại dữ liệu.
Kết quả: Excel sẽ ẩn các hàng không thỏa mãn tiêu chí, chỉ hiển thị các hàng “filtered”.
1.2. Lọc nâng cao (Advanced Filter)
Dùng khi: Bạn cần lọc dựa trên nhiều tiêu chí phức tạp, hoặc muốn sao chép kết quả lọc sang một vị trí mới.
Cách thực hiện:
Tạo một vùng criteria range (ví dụ: ở ô G1:G2, nhập tiêu chí).
Chọn bảng dữ liệu → Data → Advanced.
Chọn Copy to another location, chỉ định vùng Copy to và Criteria range.
Nhấn OK → kết quả lọc sẽ được sao chép ra vị trí mới.
1.3. Lọc bằng Table (Bảng)
Nếu dữ liệu được chuyển thành Table (Ctrl + T), Excel sẽ tự động cung cấp tính năng lọc và các công cụ sẵn có như Total Row, Structured References. Việc copy khi lọc trong Table cũng tương tự nhưng có một số lợi thế:
Khi copy, các công thức trong Table sẽ tự động điều chỉnh.
Có thể dùng structured reference để tham chiếu nhanh (ví dụ: Table1Sales).
Khi dữ liệu đã được lọc, Select Visible Cells Only (Chọn chỉ các ô hiển thị) là cách nhanh nhất để copy đúng dữ liệu.
Bước thực hiện:
Chọn vùng dữ liệu đã lọc (có thể là toàn bộ bảng hoặc một cột).
Nhấn phím tắt Alt + ; (Alt + phẩy) – lệnh này sẽ chọn Visible Cells Only.
Hoặc vào Home → Find & Select → Go To Special → chọn Visible cells only → OK.
Nhấn Ctrl + C để copy.
Di chuyển đến ô đích, nhấn Ctrl + V để dán.
Lưu ý: Nếu bạn copy toàn bộ sheet (Ctrl + A → Ctrl + C) sau khi lọc, Excel vẫn sẽ sao chép toàn bộ dữ liệu, kể cả các hàng ẩn. Vì vậy, luôn luôn sử dụng Alt + ; trước khi copy.
2.2. Copy bằng cách kéo (Drag) và thả
Cách làm: Sau khi chọn Visible Cells Only, di chuyển con trỏ chuột tới viền của vùng đã chọn, khi con trỏ chuyển thành mũi tên bốn chiều, kéo vùng đó tới vị trí mới và thả.
Ưu điểm: Thích hợp cho việc di chuyển dữ liệu trong cùng một sheet mà không cần dùng clipboard.
2.3. Dán dưới dạng (Paste Special)
Khi copy dữ liệu đã lọc, bạn có thể dán dưới các dạng khác nhau:
Dạng dán
Mô tả
Phím tắt
Values
Chỉ dán giá trị, không có công thức
Alt + E, S, V, Enter
Formulas
Dán công thức gốc
Ctrl + V (mặc định)
Formats
Chỉ dán định dạng
Alt + E, S, T, Enter
Column Widths
Giữ lại độ rộng cột gốc
Alt + E, S, W, Enter
Transpose
Đảo hàng thành cột và ngược lại
Alt + E, S, E, Enter
Mẹo: Khi dán Values, các công thức sẽ biến thành kết quả tính toán, rất hữu ích khi bạn muốn “đóng băng” dữ liệu.
3. Copy khi lọc trong các tình huống thực tế
3.1. Báo cáo bán hàng theo tháng
Kịch bản: Bạn có bảng bán hàng với các cột: Ngày, Mã KH, Sản phẩm, Số lượng, Doanh thu. Muốn lấy danh sách các giao dịch trong tháng 3 để gửi cho trưởng phòng.
Các bước:
Lọc cột Ngày → Date Filters → Between → nhập 01/03/2026 và 31/03/2026.
Chọn toàn bộ bảng (Ctrl + A).
Alt + ; để chỉ chọn các ô hiển thị.
Ctrl + C → chuyển sang sheet “Báo cáo Tháng 3”.
Paste Special → Values để dán chỉ giá trị, tránh lỗi công thức.
Kết quả: Bạn có một danh sách sạch sẽ, chỉ gồm các giao dịch trong tháng 3, sẵn sàng để in hoặc gửi email.
3.2. Quản lý kho – Lọc sản phẩm tồn kho dưới mức cảnh báo
Mục tiêu: Lấy danh sách các mặt hàng cần đặt hàng lại (tồn kho < 10).
Thực hiện:
Lọc cột Tồn kho → Number Filters → Less Than → nhập 10.
Alt + ;, Ctrl + C.
Mở một file Excel mới, Paste Special → Values.
Thêm cột Ngày đặt hàng và nhập ngày hiện tại bằng công thức =TODAY().
Lưu file dưới tên “Đặt hàng_2024_03.xlsx”.
3.3. Phân tích tài chính – Lọc các giao dịch có số tiền > 1.000.000 VNĐ
Lọc cột Số tiền → Number Filters → Greater Than → 1000000.
Alt + ;, Ctrl + C.
Paste vào một pivot table để tổng hợp nhanh:
Chọn Insert → PivotTable, đặt dữ liệu là vùng đã copy.
Kéo Tên khách hàng vào Rows, Số tiền vào Values → chọn Sum.
Pivot sẽ cho bạn biết khách hàng nào chi tiêu nhiều nhất trên 1 triệu.
4. Thủ thuật nâng cao: Sử dụng công cụ “Power Query” để copy khi lọc
Power Query (Get & Transform) là công cụ mạnh mẽ cho việc truy xuất, làm sạch, và lọc dữ liệu mà không làm thay đổi dữ liệu gốc.
4.1. Tạo query lọc
Chọn bảng dữ liệu → Data → From Table/Range.
Power Query Editor mở ra. Ở cột cần lọc, nhấp vào mũi tên, chọn Number Filters → Greater Than → nhập 1000.
Nhấn Close & Load To… → chọn Only Create Connection (tạo kết nối) hoặc New Worksheet nếu muốn dữ liệu lọc xuất hiện ngay.
4.2. Copy dữ liệu query sang vị trí khác
Khi query đã được tạo, bạn có thể Refresh bất cứ lúc nào để cập nhật dữ liệu mới.
Để copy, chỉ cần Select All trong sheet chứa query, Ctrl + C, và Paste vào file khác. Vì query là động, dữ liệu sẽ tự động đồng bộ khi refresh.
4.3. Lợi ích
Không lo mất dữ liệu gốc.
Tự động cập nhật khi dữ liệu nguồn thay đổi.
Có thể áp dụng Multiple Filters và Transform (cắt, ghép, tách cột) trước khi copy.
5. Tự động hoá bằng VBA: Macro copy khi lọc
Khi bạn phải thực hiện thao tác copy khi lọc nhiều lần (hàng ngày, hàng tuần), viết một macro sẽ tiết kiệm thời gian đáng kể.
5.1. Macro cơ bản – Copy các ô hiển thị
Sub CopyFilteredData() Dim srcSheet As Worksheet, dstSheet As Worksheet Dim srcRange As Range ' Đặt tên sheet nguồn và đích Set srcSheet = ThisWorkbook.Sheets("Dữ liệu") Set dstSheet = ThisWorkbook.Sheets("Kết quả") ' Xác định vùng dữ liệu đã lọc (giả sử bảng bắt đầu từ A1) With srcSheet .AutoFilterMode = False ' Bỏ filter nếu có .Range("A1").CurrentRegion.AutoFilter ' Bật filter lại (có thể bỏ nếu đã bật) Set srcRange = .Range("A1").CurrentRegion ' Toàn bộ bảng End With ' Chọn chỉ các ô hiển thị On Error Resume Next srcRange.SpecialCells(xlCellTypeVisible).Copy On Error GoTo 0 ' Dán vào sheet đích, bắt đầu ô A1 dstSheet.Range("A1").PasteSpecial xlPasteValues ' Dán giá trị dstSheet.Range("A1").PasteSpecial xlPasteFormats ' Dán định dạng Application.CutCopyMode = False MsgBox "Copy dữ liệu đã lọc hoàn tất!", vbInformation
End Sub
Giải thích:
SpecialCells(xlCellTypeVisible) là lệnh quan trọng để chỉ lấy các ô hiển thị.
PasteSpecial xlPasteValues và xlPasteFormats giúp dán giá trị và định dạng.
Bạn có thể tùy chỉnh để dán Formulas, Column Widths, hoặc All tuỳ nhu cầu.
5.2. Macro nâng cao – Copy và tạo báo cáo tự động
Giả sử bạn cần mỗi tuần tạo một báo cáo “Bán hàng tuần” dựa trên filter ngày.
Sub WeeklySalesReport() Dim wsData As Worksheet, wsReport As Worksheet Dim rngData As Range, rngCopy As Range Dim startDate As Date, endDate As Date Set wsData = ThisWorkbook.Sheets("SalesData") Set wsReport = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsReport.Name = "Report_" & Format(Date, "yyyymmdd") ' Xác định tuần hiện tại (Thứ Hai - Chủ Nhật) startDate = Date - Weekday(Date, vbMonday) + 1 endDate = startDate + 6 ' Áp dụng filter ngày With wsData .AutoFilterMode = False .Range("A1").CurrentRegion.AutoFilter Field:=1, _ Criteria1:=">=" & CLng(startDate), Operator:=xlAnd, _ Criteria2:="<=" & CLng(endDate) Set rngData = .Range("A1").CurrentRegion End With ' Lấy các ô hiển thị và copy On Error Resume Next Set rngCopy = rngData.SpecialCells(xlCellTypeVisible) On Error GoTo 0 If Not rngCopy Is Nothing Then rngCopy.Copy wsReport.Range("A1").PasteSpecial xlPasteValues wsReport.Range("A1").PasteSpecial xlPasteFormats Application.CutCopyMode = False MsgBox "Báo cáo tuần " & Format(startDate, "dd/mm/yyyy") & " - " & Format(endDate, "dd/mm/yyyy") & " đã được tạo.", vbInformation Else MsgBox "Không có dữ liệu cho tuần này.", vbExclamation End If ' Bỏ filter wsData.AutoFilterMode = False
End Sub
Điểm mạnh:
Tự động tính ngày đầu và cuối tuần.
Tạo một sheet mới cho mỗi báo cáo, tên file chứa ngày tạo.
Thông báo khi không có dữ liệu.
5.3. Gán macro vào nút nhanh
Vào Developer → Insert → Button (Form Control).
Vẽ nút trên sheet, chọn macro CopyFilteredData hoặc WeeklySalesReport.
Đặt tên nút: “Copy Dữ liệu Lọc” hoặc “Tạo Báo cáo Tuần”.
Bây giờ, chỉ cần một cú click, macro sẽ thực hiện toàn bộ quá trình.
6. Các lỗi thường gặp và cách khắc phục
Lỗi
Nguyên nhân
Cách khắc phục
Dữ liệu copy vẫn bao gồm các hàng ẩn
Không dùng SpecialCells(xlCellTypeVisible) hoặc không nhấn Alt + ;.
Luôn luôn chọn Visible Cells Only trước khi copy.
Thông báo “No cells found” khi dùng SpecialCells
Không có hàng nào hiển thị (filter trả về rỗng).
Kiểm tra lại tiêu chí filter; hoặc dùng On Error Resume Next để bắt lỗi.
Dán không giữ định dạng
Dùng Paste thông thường mà không chọn Paste Special → Formats.
Dùng Paste Special → Formats hoặc Ctrl + Alt + V → chọn Formats.
Công thức bị lỗi khi dán
Khi dán công thức sang vị trí mới, các tham chiếu ô không tương đối.
Sử dụng Absolute References ($A$1) hoặc dán dưới dạng Values nếu không cần công thức.
Macro không chạy vì bảo mật
Cài đặt macro được tắt.
Vào File → Options → Trust Center → Trust Center Settings → Macro Settings, chọn Enable all macros (cẩn thận với nguồn không tin).
Power Query không cập nhật khi dữ liệu nguồn thay đổi
Query chưa được refresh.
Nhấn Refresh All (Ctrl + Alt + F5) hoặc thiết lập Refresh on Open trong Query Properties.
7. Những mẹo nhanh (Keyboard Shortcuts) để copy khi lọc hiệu quả
Phím tắt
Chức năng
Ctrl + Shift + L
Bật/Tắt AutoFilter
Alt + ;
Chọn Visible Cells Only
Ctrl + C
Copy
Ctrl + V
Paste (default)
Alt + E, S, V, Enter
Paste Values
Alt + E, S, T, Enter
Paste Formats
Alt + E, S, W, Enter
Paste Column Widths
Ctrl + Shift +
Chọn vùng dữ liệu hiện tại (đặc biệt hữu ích khi bảng có nhiều cột)
F5 → Special → Visible cells only
Cũng có thể dùng để chọn ô hiển thị (cách thay thế cho Alt + 😉
8. Kết luận: Tối ưu hoá quy trình làm việc với copy khi lọc trong Excel
Việc copy khi lọc không chỉ là một thao tác đơn giản mà còn là một phần quan trọng trong quy trình xử lý dữ liệu, báo cáo, và quyết định kinh doanh. Khi nắm vững các công cụ:
Select Visible Cells Only,
Paste Special,
Power Query,
Macro VBA,
bạn sẽ:
Tiết kiệm thời gian: Không còn phải lọc lại hoặc xóa các dòng không mong muốn sau khi dán.
Đảm bảo độ chính xác: Không có rủi ro sao chép dữ liệu ẩn gây sai lệch.
Tăng tính tự động hoá: Với VBA và Power Query, các báo cáo định kỳ có thể được tạo chỉ bằng một cú click.
Nâng cao kỹ năng Excel: Các kỹ thuật này là nền tảng cho việc học các công cụ phân tích dữ liệu nâng cao hơn như Power Pivot, Power BI.
Hãy thử áp dụng các phương pháp trên ngay trong công việc hằng ngày của bạn. Khi gặp khó khăn, hãy quay lại phần FAQ (các lỗi thường gặp) hoặc tham khảo lại các bước chi tiết. Với luyện tập đều đặn, bạn sẽ trở thành “bậc thầy” trong việc copy khi lọc và nâng cao năng suất làm việc với Excel.
Tài liệu tham khảo
Microsoft Support – Copy and paste data that is filtered in Excel.
ExcelJet – Keyboard shortcuts for selecting only visible cells.
Chứng chỉ Microsoft Office Specialist (MOS) – Advanced Excel.
Các blog chuyên sâu về VBA và Power Query (Excel Campus, MyOnlineTrainingHub).
Chúc bạn thành công! Nếu có bất kỳ câu hỏi nào liên quan đến copy khi lọc trong Excel, đừng ngần ngại để lại bình luận hoặc tìm kiếm thêm tài liệu trên cộng đồng người dùng Excel.
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ẻ.
⚠️
LƯU Ý QUAN TRỌNG:Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.