Lọc Dữ Liệu Từ Ngày Đến Ngày Trong Excel: Hướng Dẫn Chi Tiết Và Các Mẹo Thực Hành

Giới thiệu

Trong các công việc quản lý dữ liệu, báo cáo tài chính, hoặc phân tích thời gian, việc lọc dữ liệu theo khoảng thời gian từ ngày X đến ngày Y là một thao tác rất quan trọng. Excel cung cấp nhiều công cụ giúp thực hiện việc này một cách nhanh chóng và chính xác. Bài viết này sẽ giới thiệu chi tiết các phương pháp lọc dữ liệu theo ngày trong Excel, từ các tính năng mặc định như AutoFilter và Advanced Filter, đến cách sử dụng công thức, PivotTable, Power Query và VBA. Bạn sẽ học được cách áp dụng từng phương pháp vào thực tiễn, tránh các lỗi thường gặp và tối ưu hiệu suất làm việc.

Tại sao lọc dữ liệu theo ngày lại quan trọng?

  • Phân tích xu hướng: Xác định các biến động theo thời gian, đánh giá hiệu quả của các chiến lược.
  • Báo cáo định kỳ: Tạo báo cáo hàng ngày, hàng tuần, hàng tháng, hàng quý.
  • Kiểm tra dữ liệu: Kiểm tra dữ liệu lỗi trong khoảng thời gian cụ thể, như giao dịch không hợp lệ.
  • Lập kế hoạch dự báo: Dựa trên dữ liệu lịch sử, dự báo nhu cầu trong tương lai.

Vì vậy empreging các kỹ thuật lọc dữ liệu pertama là một bước thiết yếu trong quy trình dữ liệu.

1. Sử dụng AutoFilter

AutoFilter là một tính năng cơ bản nhưng rất mạnh mẽ trong Excel, cho phép lọc dữ liệu theo điều kiện cụ thể, bao gồm cả ngày.

1.1 Bước chuẩn bị

  1. Đảm bảo dữ liệu trong cột ngày được định dạng là ngày. Nếu dữ liệu là chuỗi, chuyển đổi bằng công thức DATEVALUE hoặc thông qua “Text to Columns” (Chuyển đổi văn bản thành cột).
  2. Chọn toàn bộ bảng dữ liệu. Nếu dữ liệu nằm trong một bảng (Table), Excel sẽ tự động áp dụng các tính năng bảng.

1.2 Bật AutoFilter

  • Vào tab Data > Filter (hoặc nhấn Ctrl + Shift + L).
  • Các mũi tên xuất hiện ở tiêu đề cột.

1.3 Lọc theo ngày

  1. Nhấn mũi tên ở cột ngày.
  2. Chọn Date Filters > Between.
  3. Nhập ngày bắt đầu và ngày kết thúc (định dạng DD/MM/YYYY).
  4. Nhấn OK.

Excel sẽ hiển thị chỉ những dòng có giá trị ngày nằm trong khoảng đã chọn.

1.4 Lưu ý khi dùng AutoFilter

  • Dữ liệu liên tục: Nếu có rỗng giữa các hàng, AutoFilter có thể không hoạt động chính xác. Đảm bảo dữ liệu liên tục hoặc sử dụng bảng (Table).
  • Định dạng ngày: Khi nhập ngày, Excel có thể nhận dạng sai nếu hệ thống của bạn dùng định dạng ngày khác (ví dụ US vs VN). Kiểm tra trong Options.
  • Tính năng “Custom Filter”: Bạn cũng có thể chọn “Is after”, “Is before”, “Is between” tùy thuộc vào yêu cầu.

2. Advanced Filter (Lọc nâng cao)

Advanced Filter cho phép lọc dữ liệu ra một vùng mới hoặc lọc trùng lặp. Đây là phương pháp hữu ích khi bạn cần sao chép dữ liệu đã lọc ra một nơi khác.

2.1 Chuẩn bị điều kiện

  • Bảng dữ liệu: Đảm bảo có tiêu đề cột.
  • Bảng điều kiện: Tạo một bảng nhỏ chứa tiêu đề cột và điều kiện lọc. Ví dụ:
Date
>=01/01/2026
<=31/01/2026

2.2 Dùng Advanced Filter

  1. Chọn vùng dữ liệu nguồn.
  2. Vào Data > Advanced.
  3. Chọn “Copy to another location”.
  4. Đặt vùng dữ liệu nguồn, vùng điều kiện, và vùng sao chép.
  5. Nhấn OK.

Bạn sẽ nhận được bản sao dữ liệu đã lọc, mà không làm ảnh hưởng đến bảng gốc.

3. Lọc dữ liệu bằng công thức

չափសម្រាប់ khi bạn muốn tính toán hoặc tạo danh sách các ngày trong một khoảng mà không cần thao tác thủ công.

3.1 Sử dụng hàm FILTER

Trong Excel 365 và 2026 trở lên, có hàm FILTER:

=FILTER(A2:D100, (A2:A100>=DATE(2026,1,1)) (A2:A100<=DATE(2026,1,31)))
  • A2:D100 là vùng dữ liệu.
  • A2:A100 là cột ngày.
  • DATE(2026,1,1) và DATE(2026,1,31) là ngày bắt đầu và kết thúc.

Kết quả là một mảng động chứa những dòng thỏa mãn điều kiện.

3.2 Sử dụng hàm AGGREGATE + IF

Nếu bạn không có hàm FILTER, có thể dùng AGGREGATE để lấy các dòng thỏa mãn:

=AGGREGATE(15,6,ROW($A$2:$A$100)/(($A$2:$A$100>=DATE(2026,1,1)) ($A$2:$A$100<=DATE(2026,1,31))), ROW(1:1))

Kết hợp với hàm INDEX để lấy dữ liệu thực sự.

3.3 Lưu ý

  • Hiệu suất: Hàm FILTER có thể làm chậm khi làm việc với bảng dữ liệu lớn (tỷ đa hàng nghìn). Trong trường hợp nàyiolet nên dùng Power Query.
  • Định dạng: Đảm bảo cột ngày là kiểu ngày, không phải chuỗi.

4. PivotTable: Phân tích dữ liệu theo ngày

PivotTable không chỉ lọc dữ liệu mà còn phép tổng hợp, phân nhóm theo ngày.

4.1 Tạo PivotTable

  1. Chọn vùng dữ liệu.
  2. Vào Insert > PivotTable.
  3. Chọn nơi đặt PivotTable (Sheet mới hoặc Sheet hiện tại).

4.2 Định dạng ngày

Lọc Dữ Liệu Từ Ngày Đến Ngày Trong Excel
Lọc Dữ Liệu Từ Ngày Đến Ngày Trong Excel

انا

  • Kéo cột ngày vào vùng Rows.
  • Khi kéo, Excel sẽ tự động nhóm ngày theo năm, quý, tháng, tuần tùy vào cột dữ liệu. Bạn có thể nhấp chuột phải vào một ngày trong PivotTable, chọn Group, và chọn Months, Quarters, Years hoặc Days tùy ý.

4.3 Lọc theo ngày cụ thể

  • Sau khi nhóm, bạn có thể dùng Filter trên hàng điển hình để chọn các tháng hoặc năm cụ thể.
  • Nếu bạn cần lọc theo một khoảng ngày cụ thể, bạn có thể thêm cột Date vào vùng Filters và chọn Between.

4.4 Lưu ý

  • PivotTable không thể lọc dữ liệu “động” theo ngày như khi bạn nhập ngày vào ô điều kiện. Nếu muốn có điều kiện linh hoạt, hãy kết hợp PivotTable với Slicers (định dạng cắt) hoặc Timeline (định dạng dòng thời gian).

5. Power Query: Lọc dữ liệu chuyên sâu

Power Query (Get & Transform)qualification là công cụ mạnh mẽ cho việc xử lý dữ liệu lớn, cho phép lọc, biến đổi, kết nối dữ liệu từ nhiều nguồn.

5.1 Nhập dữ liệu vào Power Query

  • Chọn vùng dữ liệu, vào Data > From Table/Range. Nếu dữ liệu không ở dạng bảng, Excel sẽ tự tạo bảng.
  • Khách mở Query Editor.

5.2 Lọc theo ngày

  • Trong Query Editor, chọn cột ngày.
  • Trong tabRemarks “Home”, nhấn Filter Rows > Date Filters > Between.
  • Nhập ngày bắt đầu và kết thúc.

5.3 Lưu và tải lại

  • Khi hoàn thành, nhấn Close & Load. Dữ liệu đã lọcHosting sẽ xuất hiện trong một sheet mới hoặc thêm vào mô hình dữ liệu.

5.4 Lợi ích

  • Power Query có thể xử lý hàng triệu dòng mà AutoFilter không thể.
  • Bạn có thể lưu truy vấn và chạy lại khi dữ liệu cập nhật.
  • Hỗ trợ kết nối với nhiều nguồn: SQL, Web, CSV, SharePoint,…

6. VBA: Tự động hóa lọc dữ liệu

Nếu bạn muốn tự động hoá quá trình lọc và xuất dữ liệu, VBA (Visual Basic for Applications) là lựa chọn thích hợp.

6.1 Mẫu macro

Sub FilterByDateRange() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("DataSheet") Dim startDate As Date Dim endDate As Date startDate = DateValue(InputBox("Nhập ngày bắt đầu (DD/MM/YYYY)")) endDate = DateValue(InputBox("Nhập ngày kết thúc (DD/MM/YYYY)")) With ws.ListObjects("Table1") 'tên bảng .Range.AutoFilter Field:=1, Criteria1:=">=" & startDate, Operator:=xlAnd, Criteria2:="<=" & endDate End With
End Sub
  • Field:=1: cột ngày là cột thứ nhất. Nếu khác, thay đổi số.
  • Criteria1 và Criteria2 dùng để lọc “>=” và “<=”.
  • Macro sẽ hiển thị hộp thoại để nhập ngày, sau đó áp dụng filter.

6.2 Lưu ý khi dùng VBA

  • Đảm bảo macro được bật (File > Options > Trust Center).
  • Macro không tự động lưu kết quả; bạn có thể thêm code để sao chép dữ liệu đã lọc vào một sheet mới.
  • Khi làm việc với dữ liệu lớn, macro có thể mất thời gian; sử dụng Application.ScreenUpdating = False để tăng tốc.

7. Các mẹo và lưu ý khi lọc dữ liệu theo ngày

MẹoGiải thích
Kiểm tra định dạng ngàyĐịnh dạng ngày có thể khác nhau tùy quốc gia (MM/DD/YYYY vs DD/MM/YYYY). Khi nhập ngày, hãy nhập theo định dạng hệ thống hoặc sử dụng DATE hàm.
Sử dụng bảng (Table)Khi dữ liệu được định dạng bảng, các công thức và filter tự động mở rộng.
Giữ dữ liệu gốcĐừng làm trống dữ liệu gốc khi lọc; hãy sao chép ra vùng mới hoặc dùng Advanced Filter.
Sử dụng Công thức TEXT khi cầnĐôi khi bạn muốn lọc theo tháng/tuần mà không muốn tính toán ngày cụ thể: TEXT(A1, "yyyy-mm").
Bảo vệ dữ liệuKhi làm việc với dữ liệu quan trọng, luôn sao lưu file trước khi thực hiện lọc.
Tối ưu Power QueryTránh lặp lại các bước biến đổi; lưu truy vấn và tải dữ liệu khi cần.
Thêm tùy chọn “Show All”Khi dùng AutoFilter, thêm tùy chọn “Show All” để gỡ filter nhanh.

8. Trường hợp thực tế: Phân tích doanh thu từ ngày 01/01/2026 đến 31/01/2026

Giả sử bạn có bảng DoanhThu với các cột: Date, Product, Quantity, Revenue. Bạn muốn xem doanh thu trong tháng 1 năm 2026.

8.1 Bước 1: Đảm bảo Date là kiểu ngày

  • Kiểm tra cột Date có định dạng ngày không. Nếu là chuỗi, dùng DATEVALUE.

8.2 Bước 2: Sử dụng AutoFilter

مشار

  • Bật AutoFilter và chọn Date > Date Filters > Between > 01/01/2026 và 31/01/2026.
  • Đếm số dòng: SUBTOTAL(103, A2:A1000) (số lượng dòng đã lọc).

8.3 Bước 3: Tính tổng doanh thu

  • SUBTOTAL(9, D2:D1000) sẽ tính tổng cột Revenue chỉ trong vùng lọc.

8.4 Bước 4: Tạo PivotTable

  • Tạo PivotTable từ dữ liệu đã lọc.
  • Kéo Product vào rows và Revenue vàoІ values → Tổng doanh thu theo sản phẩm.

9. Kết luận

Lọc dữ liệu theo ngày trong Excel là một_angle quan trọng để phân tích, báo cáo và quản lý dữ liệu hiệu quả. Tùy theo nhu cầu và độ phức tạp của dữ liệu, bạn có thể chọn:

  • AutoFilter: nhanh gọn, phù hợp với dữ liệu nhỏ.
  • Advanced Filter: sao chép dữ liệu lọc ra vùng mới.
  • Công thức (FILTER, AGGREGATE): linh hoạt, không cần thao tác thủ công.
  • PivotTable: tổng hợp, nhóm theo ngày.
  • Power Query: xử lý dữ liệu lớn, tự động hoá.
  • VBA: tự động hóa quy trình filter.

Bằng uma kết hợp các công cụ này, bạn có thể tạo ra các báo cáo chính xác, nhanh chóng và dễ dàng bảo trì. Đừng quên kiểm tra định dạng ngày, bảo vệ dữ liệu gốc và lưu lại công thức hoặc truy vấn để tái sử dụng trong tương lai. Chúc bạn thành công trong việc lọc dữ liệu theo ngày và nâng cao năng suất làm việc với Excel!

⚠️
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.

Viết một bình luận