Bạn đã bao giờ cảm thấy bối rối khi lọc ngày tháng bằng hàm QUERY trong Google Sheets? Việc lọc ngày tháng tưởng chừng đơn giản nhưng lại trở nên phức tạp hơn bạn nghĩ. Vấn đề nằm ở chỗ Google Sheets lưu trữ ngày tháng dưới dạng số sê-ri, trong khi hàm QUERY lại yêu cầu định dạng chuỗi ký tự yyyy-mm-dd. Nếu không đúng định dạng, hàm QUERY sẽ không thể lọc chính xác. Bài viết này, với tư cách là chuyên gia SEO website ProSkills và chuyên gia công nghệ, tôi sẽ hướng dẫn bạn chi tiết cách lọc ngày tháng một cách hiệu quả bằng hàm QUERY, giúp bạn làm chủ công cụ này và tối ưu hóa công việc trên Google Sheets.
Tôi đã trải nghiệm và hướng dẫn rất nhiều người sử dụng thành thạo các công cụ văn phòng, đặc biệt là trong lĩnh vực công nghệ 4.0. Tôi hiểu những khó khăn mà bạn có thể gặp phải và sẽ chia sẻ kinh nghiệm thực tế của mình để giúp bạn dễ dàng áp dụng.
Lọc Ngày Tháng Bằng Hàm QUERY: Những Sai Lầm Thường Gặp
Cú pháp tưởng chừng đơn giản như =QUERY(Data!$A$1:$H$136,"select C, B where B > '1/1/2000'",1)
lại trả về kết quả trống. Việc bỏ dấu ngoặc kép cũng không giải quyết được vấn đề, mà còn gây ra lỗi #VALUE! vì hàm QUERY không thể so sánh. Vậy nguyên nhân là gì? Đơn giản là định dạng ngày tháng chưa đúng chuẩn mà hàm QUERY yêu cầu.
Cú Pháp Chuẩn Cho Định Dạng Ngày Tháng Trong Hàm QUERY
Theo tài liệu hướng dẫn của Google, để sử dụng ngày tháng làm bộ lọc trong mệnh đề WHERE của hàm QUERY, bạn cần sử dụng từ khóa date
và đảm bảo ngày tháng được định dạng theo kiểu yyyy-mm-dd.
Ví dụ: date_column > date '2000-01-01'
Vậy làm thế nào để tạo ra cú pháp đúng này bên trong hàm QUERY? Hãy cùng tôi phân tích từng bước, bắt đầu với ngày 1/1/2000:
-
Chuyển đổi sang số sê-ri: Sử dụng hàm
DATEVALUE("1/1/2000")
để chuyển đổi ngày tháng thành số sê-ri (36526). -
Định dạng lại: Sử dụng hàm
TEXT(DATEVALUE("1/1/2000"),"yyyy-mm-dd")
để chuyển số sê-ri thành định dạng yyyy-mm-dd (2000-01-01). -
Thêm dấu nháy đơn: Bổ sung dấu nháy đơn xung quanh ngày tháng để hoàn chỉnh cú pháp:
date '2000-01-01'
. -
Kết hợp vào hàm QUERY: Ghép cú pháp đã tạo vào đối số thứ hai của hàm QUERY. Ví dụ:
"select C, B where B > date '"&TEXT(DATEVALUE("1/1/2000"),"yyyy-mm-dd")&"'"
Ví Dụ Thực Tế: Lọc Dữ Liệu Nhiệm Vụ Tàu Con Thoi
Để minh họa, chúng ta sẽ sử dụng dữ liệu nhiệm vụ Tàu con thoi từ Wikipedia. Tôi đã sử dụng hàm IMPORTHTML
để nhập dữ liệu này vào một sheet có tên “Data” trong phạm vi A1:H136. Bạn có thể tải file dữ liệu đính kèm để thực hành theo.
Công thức sau sẽ lọc ra tất cả các nhiệm vụ sau ngày 1/1/2000:
=QUERY(Data!$A$1:$H$136,"select C, B where B > date '"&TEXT(DATEVALUE("1/1/2000"),"yyyy-mm-dd")&"'",1)
Lọc Ngày Tháng Từ Ô Tham Chiếu
Nếu ngày tháng cần lọc nằm trong một ô, ví dụ ô A1, công thức sẽ đơn giản hơn:
=QUERY(Data!$A$1:$H$136,"select C, B where B > date '"&TEXT(A1,"yyyy-mm-dd")&"'",1)
Lọc Giữa Hai Ngày
Để lọc dữ liệu giữa hai ngày, bạn chỉ cần thêm mệnh đề AND
và ngày thứ hai:
=QUERY(Data!$A$1:$H$136,"select C, B where B > date '"&TEXT(A1,"yyyy-mm-dd")&"' and B <= date '"&TEXT(B1,"yyyy-mm-dd")&"'",1)
Lọc Theo Ngày Hôm Nay
Sử dụng hàm TODAY()
để lọc theo ngày hiện tại:
=QUERY(Data!$A$1:$H$136,"select C, B where B > date '"&TEXT(TODAY(),"yyyy-mm-dd")&"'",1)
Kết Luận
Hy vọng bài viết này đã giúp bạn hiểu rõ cách sử dụng hàm QUERY để lọc ngày tháng trong Google Sheets. Việc nắm vững kỹ thuật này sẽ giúp bạn tối ưu hóa công việc và tiết kiệm thời gian. Hãy liên tục cập nhật kiến thức và kỹ năng để thành thạo hơn trong việc sử dụng Google Sheets nhé! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại để lại bình luận bên dưới.
FAQ
1. Tại sao hàm QUERY không nhận diện được định dạng ngày tháng thông thường?
Google Sheets lưu trữ ngày tháng dưới dạng số sê-ri, trong khi hàm QUERY yêu cầu định dạng chuỗi ký tự yyyy-mm-dd.
2. Làm thế nào để lọc dữ liệu trước một ngày cụ thể?
Sử dụng dấu <
thay vì >
trong mệnh đề WHERE
. Ví dụ: where B < date '2000-01-01'
3. Có thể kết hợp lọc ngày tháng với các điều kiện lọc khác không?
Có, bạn có thể sử dụng AND
và OR
để kết hợp nhiều điều kiện lọc trong mệnh đề WHERE
.
4. Tôi có thể sử dụng hàm QUERY để lọc theo tháng hoặc năm không?
Có, bạn có thể sử dụng các hàm MONTH()
và YEAR()
kết hợp với hàm TEXT()
để trích xuất tháng và năm từ ngày tháng, sau đó sử dụng trong mệnh đề WHERE
.
5. Tôi cần hỗ trợ thêm về Google Sheets và các công cụ văn phòng khác?
Hãy liên hệ với ProSkills để được tư vấn và hỗ trợ bởi các chuyên gia.