Bạn đang mất quá nhiều thời gian vào các tác vụ xử lý dữ liệu lặp đi lặp lại trong Google Sheets? Bạn không hề đơn độc. Tôi từng lãng phí hàng giờ mỗi tuần chỉ vì những bước quen thuộc đó – cho đến khi tôi tình cờ phát hiện một hàm duy nhất có thể đảm nhiệm toàn bộ công việc nặng nhọc. Hãy để tôi giới thiệu cho bạn hàm QUERY.
1. Tự Động Sắp Xếp Dữ Liệu Liên Tục Cập Nhật Theo Thời Gian Thực
Cách nhanh nhất mà hàm QUERY cải thiện bảng tính của tôi là loại bỏ hoàn toàn những cơn đau đầu do việc sắp xếp lại dữ liệu liên tục. Bạn có biết chu trình khó chịu đó không? Bạn sắp xếp dữ liệu, rồi một giờ sau, thông tin mới đổ về, và đột nhiên danh sách đã sắp xếp của bạn lại lộn xộn hết cả. Đó chính là vấn đề mà QUERY giải quyết.
Giả sử bạn muốn theo dõi hàng tồn kho của công ty theo giá. Thay vì phải sắp xếp lại liên tục, bạn có thể sử dụng một công thức QUERY như sau:
=QUERY(A:G, "SELECT * ORDER BY E desc")
Trong ví dụ này, bạn đang yêu cầu Google Sheets lấy toàn bộ dữ liệu từ cột A đến cột G và sắp xếp chúng theo cột E (nơi chứa giá, trong trường hợp này) theo thứ tự giảm dần.
Kết quả hàm QUERY với ORDER BY trong Google Sheets hiển thị dữ liệu sắp xếp giá xe
Ngay lập tức, những chiếc xe đắt tiền nhất của bạn sẽ nổi lên đầu danh sách.
Điều khiến tính năng này trở thành một “thay đổi cuộc chơi” là nó không ngừng hoạt động. Khi một chiếc xe trị giá 250.000 đô la mới được thêm vào bảng tính của bạn, nó sẽ ngay lập tức xuất hiện ở đầu kết quả QUERY của bạn. Không cần phải sắp xếp lại một lần nào nữa.
Những gì trước đây tôi phải mất vài phút nhấp và kéo trong suốt cả ngày giờ đây diễn ra tự động. Quan trọng hơn, tôi không bao giờ bỏ lỡ các mặt hàng có ưu tiên cao nữa vì chúng luôn ở đúng vị trí mà chúng cần phải có.
2. Kết Hợp Nhiều Thao Tác Phức Tạp Chỉ Trong Một Công Thức
Tôi không thể kể hết đã bao nhiêu lần tôi phải thực hiện một “điệu nhảy” phức tạp: lọc dữ liệu, sắp xếp nó, ẩn một số cột và có thể nhóm mọi thứ lại với nhau. Giờ đây, nhờ có hàm QUERY, tôi có thể làm tất cả điều đó chỉ trong một lần.
Giả sử tôi muốn chuẩn bị một báo cáo tổng kết doanh số và tôi cần thực hiện các việc sau:
- Chỉ lọc ra những chiếc xe đã bán.
- Loại bỏ bất kỳ chiếc xe nào dưới 30.000 đô la.
- Loại trừ các dòng xe Tesla.
- Sắp xếp theo giá để xem các giao dịch lớn nhất trước.
Đó là bốn bước riêng biệt. Nếu tôi phải thực hiện thủ công và mắc lỗi ở bất kỳ đâu, tôi sẽ phải bắt đầu lại từ đầu. Thay vào đó, tôi chỉ cần gõ:
=QUERY(Test!A:G, "SELECT * WHERE F = TRUE AND E > 30000 AND NOT B contains 'Tesla' ORDER BY E desc")
Một công thức thay thế cho bốn bước. Vì tôi đã chèn hàm QUERY vào một trang tính trống, tôi đã thêm tên trang tính với dấu chấm than (Test!) trước khi chỉ định các cột chứa dữ liệu của mình.
Kết quả hàm QUERY với nhiều mệnh đề trên một tab Google Sheets trống
Điều tuyệt vời nhất là tôi còn có thể nâng cao hơn với các mệnh đề như PIVOT, LABEL, v.v. Ví dụ, khi tôi cần xem các sản phẩm của từng năm đang bán như thế nào, tôi thêm GROUP BY
:
=QUERY(Test!A:G, "SELECT D, SUM(E) WHERE F = TRUE GROUP BY D ORDER BY SUM(E) desc")
Điều này cho tôi thấy doanh thu cho đến nay từ các đợt phát hành mỗi năm, tự động sắp xếp từ cao nhất đến thấp nhất.
Việc tiết kiệm thời gian cộng dồn rất nhanh. Những gì trước đây tôi mất 10–15 phút nhấp chuột, lọc và sắp xếp giờ đây chỉ mất 30 giây để gõ một công thức. Và không giống như quy trình đa bước cũ của tôi, tôi không bao giờ vô tình bỏ qua một bước hoặc làm lộn xộn thứ tự nữa.
3. Xử Lý Các Bộ Dữ Liệu Khổng Lồ Mượt Mà Không Gây Giật Lag
Hãy hình dung thế này: Bạn đang cố gắng tìm 100 khách hàng gần đây nhất của mình từ một cơ sở dữ liệu với hơn 50.000 hàng để gửi một chiến dịch email mục tiêu. Nghe có vẻ đơn giản, phải không?
Không hề. Mỗi khi bạn cố gắng sắp xếp, lọc hoặc thao tác với một bộ dữ liệu khổng lồ như vậy, Google Sheets rất có thể sẽ bị treo. Tôi đã phải đối mặt với điều này cho đến khi tôi phát hiện ra hàm QUERY có thể xử lý các bộ dữ liệu cồng kềnh.
Đây là một ví dụ:
=QUERY('50000 Sales Records'!A:N, "SELECT * ORDER BY H desc LIMIT 100")
Công thức trên sẽ lấy 100 lô hàng gần đây nhất, vì cột H bao gồm ngày giao hàng. Trong khi đó, bạn có thể thêm mệnh đề OFFSET
để lấy các đơn hàng cụ thể, ví dụ từ hàng thứ 61 đến 160.
Thay vì bắt máy tính của bạn xử lý và hiển thị tất cả hơn 50.000 hàng, mất rất nhiều thời gian, chỉ để bạn có thể xem 100 hàng đầu tiên, hàm QUERY (với mệnh đề LIMIT và OFFSET) đủ thông minh để lấy chính xác những gì bạn cần và bỏ qua phần còn lại.
Kết quả hàm QUERY dùng ORDER BY và LIMIT trên tab Google Sheets trống
Bạn thậm chí có thể sử dụng LIMIT và OFFSET với tất cả các tính năng QUERY khác – nhóm, sắp xếp, lọc – mà không phải vật lộn với trình duyệt và lãng phí thời gian.
4. Phân Tích Dữ Liệu Từ Nhiều Trang Tính Hoặc File Khác Nhau
Bạn vẫn đang sao chép dữ liệu thủ công giữa các bảng tính hoặc sổ làm việc chỉ để làm một báo cáo? Bạn có thể dừng lại ngay bây giờ. Hàm QUERY cho phép bạn phân tích dữ liệu trên nhiều trang tính – hoặc thậm chí trên các tệp hoàn toàn khác nhau – mà không cần chạm vào Ctrl+C.
Kết hợp nhiều tab trong một lần
Giả sử bạn có dữ liệu hàng quý được chia thành các tab như Sales_Q1 và Sales_Q2, bạn có thể hợp nhất chúng thành một bộ dữ liệu duy nhất bằng cách sử dụng dấu ngoặc nhọn {}
. Sau đó, chạy phân tích của bạn giống như bạn làm trên một trang tính duy nhất.
=QUERY({Sales_Q1!A:N; Sales_Q2!A:N; Sales_Q3!A:N; Sales_Q4!A:N}, "SELECT Col3, Col1, SUM(Col9) WHERE Col5 = 'C' GROUP BY Col3, Col1")
Giả sử cột 3 (Col3) là Loại mặt hàng, cột 1 là Vùng, cột 9 là Số lượng đã bán và cột 5 là Độ ưu tiên đơn hàng. Chỉ cần đảm bảo cấu trúc (các cột) của mỗi trang tính khớp nhau là bạn có thể thực hiện.
Tôi vừa kết hợp bốn trang tính với dữ liệu từ các quý khác nhau để lấy tổng số đơn vị đã bán trên mỗi mặt hàng và khu vực cho các đơn hàng ưu tiên C. Thật dễ dàng!
Kéo dữ liệu từ một Google Spreadsheet khác (Không cần tải xuống)
Nếu bạn cần dữ liệu từ một tệp hoàn toàn khác, bạn có thể sử dụng IMPORTRANGE với QUERY để đưa nó vào. Giả sử bạn muốn đưa dữ liệu từ doanh số bán xe của chúng ta và đối chiếu nó với dữ liệu chúng ta đã thu thập từ bốn trang tính, bạn có thể sử dụng công thức này:
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/yoursheetID/edit", "Test!A:G"), "SELECT Col4, SUM(Col5) GROUP BY Col4")
Bạn sẽ cần cấp quyền trước khi có thể kéo dữ liệu từ bảng tính bên ngoài.
Yêu cầu cấp quyền truy cập bảng tính ngoài khi dùng IMPORTRANGE kết hợp QUERY trong Google Sheets
Khi bạn cấp quyền truy cập, bạn có thể lấy dữ liệu từ bảng tính bên ngoài theo thời gian thực và nó sẽ cập nhật nếu dữ liệu nguồn thay đổi.
Hàm QUERY cho phép bạn phân tích dữ liệu trên các tab và tệp mà không cần phải mở tab hoặc tệp thứ hai.
5. Sắp Xếp và Lọc Dữ Liệu Linh Hoạt Mà Không Cần Sửa Công Thức
Bạn muốn sắp xếp hoặc lọc dữ liệu của mình theo cách khác mà không phải viết lại toàn bộ công thức QUERY mỗi lần? Bạn có thể làm điều đó, với một thiết lập đơn giản bằng cách sử dụng dấu ngoặc kép và ký hiệu và (&
):
=QUERY({Sales_Q1!A:N; Sales_Q2!A:N; Sales_Q3!A:N; Sales_Q4!A:N}, "SELECT * WHERE Col1 = '"&G21&"'", 1)
Khi sếp của bạn muốn xem dữ liệu từ khu vực Châu Âu, bạn chỉ cần gõ “Europe” vào ô G21.
Kết quả hàm QUERY với tham chiếu ô động trong Google Sheets hiển thị dữ liệu lọc theo vùng
Khi sếp muốn dữ liệu của khu vực Châu Phi cận Sahara, bạn gõ “Sub-Saharan Africa”. Chỉ cần đảm bảo đó là một mục hợp lệ trong cột 1. Công thức vẫn giữ nguyên, nhưng kết quả cập nhật ngay lập tức. Một khi bạn đã nắm được cách sử dụng, nó sẽ vô cùng mạnh mẽ.
Điều kỳ diệu thực sự xảy ra khi tôi bắt đầu sử dụng cách này cho các khoảng ngày. Ngày tháng trong công thức QUERY nổi tiếng là “khó tính”. Chúng cần phải ở đúng định dạng (YYYY-MM-DD) nếu không mọi thứ sẽ lỗi. Nhưng với các tham chiếu ô, bạn có thể thiết lập các điều khiển ngày tháng thân thiện với người dùng:
=QUERY({Sales_Q1!A:N; Sales_Q2!A:N; Sales_Q3!A:N; Sales_Q4!A:N}, "SELECT * WHERE Col6 >= date '"&TEXT(G142, "yyyy-mm-dd")&"' AND Col6 <= date '"&TEXT(I142, "yyyy-mm-dd")&"'", 1)
Bây giờ, tôi có ô G142 cho ngày bắt đầu, ô I142 cho ngày kết thúc và Cột 6 đại diện cho Cột Ngày Đặt hàng. Khi ai đó hỏi doanh số của chúng tôi từ ngày 15 tháng 3 năm 2011 đến ngày 30 tháng 4 năm 2015, tôi chỉ cần thay đổi hai ô đó thay vì phải vật lộn với cú pháp công thức.
Điều tuyệt vời nhất là tôi có thể chia sẻ những bảng tính này với các đồng nghiệp không phải là chuyên gia về công thức. Họ thấy các ô nhập liệu sạch sẽ nơi họ có thể thay đổi khu vực hoặc điều chỉnh phạm vi ngày, và họ không hề biết có một công thức QUERY phức tạp đang chạy ẩn đằng sau.
Hàm QUERY trong Google Sheets không chỉ là một công thức thông thường. Nó là một cỗ máy tự động hóa dữ liệu hoàn chỉnh. Cho dù bạn đang xử lý hàng chục nghìn hàng, sao chép dữ liệu giữa các trang tính, hay chỉ đơn giản là đã chán ngấy việc sắp xếp và lọc lặp đi lặp lại, hàm QUERY sẽ xử lý tất cả một cách dễ dàng và hiệu quả.
Nó nhanh chóng. Nó linh hoạt. Và một khi bạn bắt đầu sử dụng hàm QUERY trong Google Sheets, bạn sẽ thực sự tự hỏi làm thế nào mình đã xoay sở được nếu không có nó. Hãy bắt đầu khám phá sức mạnh của QUERY ngay hôm nay và chia sẻ trải nghiệm của bạn dưới phần bình luận nhé!