Cách khắc phục lỗi truy vấn 'Empty Output' trong Google Sheets

beginner📗 Google Sheets2026-06-16| Google Sheets (Mọi trình duyệt)

Error Message

Error: Query completed with an empty output
#google-sheets#ham-query#kieu-du-lieu#bang-tinh

Giải pháp nhanh (TL;DR)

Không gì làm hỏng một bảng điều khiển (dashboard) nhanh hơn một loạt các thông báo lỗi. Lỗi cụ thể này có nghĩa là hàm QUERY của bạn đúng về mặt cú pháp, nhưng mệnh đề WHERE của bạn không tìm thấy hàng nào khớp. Để giữ cho bảng tính trông gọn gàng, hãy bọc công thức của bạn trong hàm IFERROR để hiển thị một thông báo tùy chỉnh thay vì một ô bị lỗi:

=IFERROR(QUERY(A:C, "SELECT A, B WHERE C = 'Paid'", 1), "No matching records")

Nếu bạn chắc chắn rằng dữ liệu tồn tại nhưng lỗi vẫn tiếp diễn, có khả năng bạn đang gặp phải vấn đề về không khớp kiểu dữ liệu (data type mismatch), định dạng ngày tháng không đúng, hoặc khoảng trắng ẩn.

Các nguyên nhân phổ biến và cách khắc phục

1. Không khớp kiểu dữ liệu (Quy tắc 51%)

Hàm QUERY của Google Sheets dựa trên Google Visualization API. API này cực kỳ khắt khe. Nó quét 100 hàng đầu tiên của một cột để đoán kiểu dữ liệu (Số, Chuỗi hoặc Ngày tháng). Nếu 90 hàng trong số đó là số và 10 hàng là văn bản, hàm QUERY thường sẽ coi 10 hàng văn bản đó là giá trị null. Đây là một lỗi "giết chết" dữ liệu một cách âm thầm.

Giải pháp: Ép toàn bộ dải dữ liệu sang định dạng văn bản bằng cách sử dụng ARRAYFORMULATO_TEXT trước khi chạy truy vấn. Điều này giúp đồng nhất dữ liệu.

=QUERY(ARRAYFORMULA(TO_TEXT(A:C)), "SELECT Col1, Col2 WHERE Col3 = 'Active'", 1)

Mẹo nhỏ: Khi bạn bọc một dải dữ liệu trong ARRAYFORMULA, bạn phải chuyển từ tên cột bằng chữ cái (A, B) sang số thứ tự (Col1, Col2).

2. Trở ngại về định dạng ngày tháng

Các định dạng ngày tháng tiêu chuẩn như "12/31/2023" hoạt động tốt trong các ô, nhưng chúng sẽ thất bại khi nằm trong một chuỗi truy vấn. Hàm QUERY yêu cầu định dạng ISO (yyyy-mm-dd) đứng sau từ khóa date. Nếu bạn tham chiếu đến một ô như E1 có chứa ngày tháng, bạn không thể chỉ trỏ vào đó; bạn phải định dạng lại nó.

Tại sao cách này thất bại: =QUERY(A:C, "SELECT A WHERE B > '01/01/2024'")

Cú pháp đúng: Nếu bạn nhập ngày trực tiếp vào công thức: =QUERY(A:C, "SELECT A WHERE B > date '2024-01-01'", 1)

Nếu bạn lấy ngày từ ô E1: =QUERY(A:C, "SELECT A WHERE B > date '"&TEXT(E1, "yyyy-mm-dd")&"'", 1)

3. Vấn đề về phân biệt chữ hoa chữ thường

Máy tính rất máy móc. Đối với truy vấn trong Google Sheets, "Apple" và "apple" là hai thực thể hoàn toàn khác nhau. Nếu dữ liệu của bạn sử dụng kiểu chữ hỗn hợp, mệnh đề WHERE tiêu chuẩn có thể sẽ bỏ sót một nửa số mục nhập, dẫn đến kết quả trống.

Giải pháp: Sử dụng hàm lower() để chuyển đổi mọi thứ thành chữ thường trong quá trình so sánh. Điều này đảm bảo việc tìm kiếm của bạn không phân biệt chữ hoa chữ thường.

=QUERY(A:C, "SELECT A, B WHERE lower(C) = 'shipped'", 1)

4. Khoảng trắng ẩn (Lỗi tiềm ẩn)

Đôi khi dữ liệu của bạn trông có vẻ hoàn hảo, nhưng thực tế một ô lại chứa "Paid " thay vì "Paid". Chỉ một khoảng trắng thừa ở cuối là đủ để kích hoạt lỗi kết quả trống. Điều này thường xảy ra với dữ liệu được xuất từ các phần mềm kế toán hoặc CRM.

Giải pháp: Sử dụng toán tử contains thay vì dấu bằng (=). Nó linh hoạt hơn nhiều đối với các khoảng trắng.

=QUERY(A:C, "SELECT A, B WHERE C contains 'Paid'", 1)

5. Đếm sai số hàng tiêu đề

Đối số thứ ba trong hàm QUERY cho Google biết có bao nhiêu hàng là tiêu đề. Nếu bạn để trống phần này, Google Sheets sẽ tự đoán. Nếu nó đoán sai, nó có thể vô tình đưa hàng dữ liệu thực tế duy nhất của bạn vào phần tiêu đề, khiến kết quả không còn gì để hiển thị.

Giải pháp: Đừng để phần mềm tự đoán. Hãy thiết lập rõ ràng giá trị này thành 1 (hoặc 0 nếu bạn không có tiêu đề).

=QUERY(A:E, "SELECT * WHERE A IS NOT NULL", 1)

Cách xác minh giải pháp

Thực hiện các bước sau để đảm bảo dữ liệu của bạn được trả về chính xác:

  • Kiểm tra khi di chuột qua: Di chuột qua ô bị lỗi. Nếu hình tam giác màu đỏ biến mất, cú pháp của bạn đã được sửa.
  • Mở rộng phạm vi: Tạm thời xóa mệnh đề WHERE của bạn. Nếu dữ liệu xuất hiện, vấn đề nằm ở tiêu chí lọc chứ không phải ở dải dữ liệu.
  • Kiểm tra kiểu dữ liệu: Sử dụng hàm =TYPE(A2) trên dữ liệu nguồn của bạn. Nếu bạn nhận được sự pha trộn giữa 1 (số) và 2 (văn bản) trong cùng một cột, hãy áp dụng giải pháp TO_TEXT đã đề cập ở bước một.

Bảng tham khảo khắc phục sự cố nhanh

  Nếu vấn đề của bạn là...
  Nguyên nhân có khả năng là...
  Áp dụng giải pháp này:




  Không tìm thấy kết quả
  Bộ lọc quá khắt khe
  Bọc trong `IFERROR()`


  Thiếu các hàng cụ thể
  Kiểu dữ liệu hỗn hợp
  Sử dụng `ARRAYFORMULA(TO_TEXT())`


  Bộ lọc ngày tháng bị lỗi
  Chuỗi ngày tháng không hợp lệ
  Sử dụng `date 'yyyy-mm-dd'`


  Khớp văn bản thất bại
  Chữ hoa/thường hoặc khoảng trắng
  Sử dụng `lower()` hoặc `contains`

Related Error Notes