Cách kết hợp hàm QUERY và hàm IF trong Google Sheets hiệu quả
Trong Google Sheets, việc kết hợp các hàm thông minh sẽ giúp bạn xử lý nhiều bài toán phức tạp. Trong số đó, không thể không kể tới việc kết hợp hàm QUERY và hàm IF trong Google Sheets. Khi kết hợp hai hàm này vào với nhau, bạn sẽ dễ dàng thực hiện nhiều tác vụ như lọc dữ liệu, tạo bảng báo cáo tự động,…. Để hiểu rõ hơn về cách sử dụng hàm QUERY và hàm IF kết hợp với nhau, đừng bỏ qua bài viết dưới đây của chúng tôi nhé.
Hàm QUERY trong Google Sheets
Hàm QUERY trong Google Sheets là một hàm cho phép truy vấn và thao tác dữ liệu tương tự như ngôn ngữ SQL. Tức là thay vì sử dụng nhiều hàm lồng nhau để lọc, sắp xếp hay tổng hợp dữ liệu, bạn sử dụng câu lệnh QUERY để làm tác vụ này.
Ngoài ra, hàm QUERY có thể thực hiện nhiều tác vụ khác nhau, bao gồm:
- Lọc dữ liệu (WHERE) – chọn các hàng dữ liệu thỏa mãn một hoặc nhiều điều kiện nhất định.
- Sắp xếp dữ liệu (ORDER BY) – sắp xếp các hàng theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC) dựa trên giá trị của một cột.
- Chọn các cột cụ thể (SELECT) – chỉ hiển thị các cột mà bạn quan tâm, loại bỏ các cột không cần thiết.
- Tổng hợp dữ liệu (GROUP BY) – gom nhóm các hàng có cùng giá trị trong một cột và thực hiện các phép tính tổng hợp như SUM, AVG, COUNT, MAX, MIN.
- Giới hạn số hàng (LIMIT) – chỉ hiển thị một số lượng hàng nhất định.
Cú pháp
Cú pháp cơ bản của hàm QUERY như sau:
=QUERY(dữ_liệu, truy_vấn, [tiêu_đề])
Trong đó:
- dữ_liệu: Phạm vi dữ liệu bạn muốn truy vấn (ví dụ: A1:D100).
- truy_vấn: Chuỗi truy vấn bằng văn bản, đặt trong dấu ngoặc kép. Dù bạn dùng Google Sheets tiếng Việt, phần nội dung trong truy vấn vẫn phải viết theo cú pháp tiếng Anh, ví dụ: “select A, B where C > 100”.
- [tiêu_đề] (tùy chọn): Số hàng tiêu đề trong phạm vi dữ liệu. Nếu không điền, hệ thống sẽ tự nhận diện.
Ứng dụng
Hiện tại, hàm QUERY được ứng dụng rộng rãi trong nhiều lĩnh vực như là:
- Tạo các bảng báo cáo tổng hợp từ dữ liệu rồi tự động cập nhật khi dữ liệu nguồn thay đổi.
- Lấy dữ liệu từ một Sheet khác hoặc một file khác và hiển thị theo yêu cầu.
- Tính toán các chỉ số thống kê cơ bản như tổng doanh thu, số lượng sản phẩm bán ra.
>>> Xem thêm: Cách dùng Hàm QUERY trong Google Sheets
Hàm IF trong Google Sheets
Hàm IF trong Google Sheets được sử dụng rất phổ biến. Chức năng chính của hàm IF này là kiểm tra một điều kiện logic và trả về một giá trị nếu điều kiện đó là đúng, và một giá trị khác nếu điều kiện đó sai. Tức là, hàm IF cho phép bạn tạo ra các công thức có khả năng ra quyết định dựa trên dữ liệu.
Hàm IF hoạt động theo câu lệnh là “Nếu…. thì…”. Nó giúp bạn xử lý các tình huống mà kết quả chủ yếu phụ thuộc vào một điều kiện nhất định cụ thể. Ví dụ như là, bạn có thể sử dụng hàm IF để kiểm tra một số có lớn hơn 100 hay không, hay xác định một ô rỗng hay không….
Cú pháp
Cú pháp cơ bản của hàm IF trong Google Sheets như sau:
=IF(điều_kiện_logic; giá_trị_nếu_đúng; giá_trị_nếu_sai)
Trong đó:
- điều_kiện_logic: Điều kiện bạn muốn kiểm tra. Kết quả phải là TRUE (ĐÚNG) hoặc FALSE (SAI).
- giá_trị_nếu_đúng: Giá trị được trả về nếu điều kiện là ĐÚNG.
- giá_trị_nếu_sai: Giá trị được trả về nếu điều kiện là SAI.
Ứng dụng
Hàm IF rất linh hoạt trong Google Sheets, nên bạn có thể sử dụng để:
- Phân loại dữ liệu, ví dụ như gán nhãn “Đạt” hoặc “Không đạt” dựa trên điểm số.
- Tính toán có điều kiện, ví dụ như áp dụng mức chiết khấu khác nhau dựa trên giá trị đơn hàng.
- Xử lý lỗi, ví dụ như trả về một giá trị mặc định khi một công thức khác bị lỗi.
- Tạo cột tùy chỉnh, ví dụ như tạo một cột mới với các giá trị được tính toán dựa trên các điều kiện phức tạp.
Lợi ích của việc kết hợp hàm QUERY và hàm IF trong Google Sheets
Khi kết hợp hàm QUERY và hàm IF trong Google Sheets sẽ tạo ra công thức linh hoạt. Khi đó, hàm QUERY sẽ giúp truy vấn dữ liệu một cách tổng quát, còn hàm IF thêm các điều kiện logic chi tiết, biến hoá dữ liệu theo ý muốn.
Ngoài ra, sự kết hợp giữa hai hàm QUERY và hàm IF còn mang tới nhiều lợi ích vượt trội khác như là:
- Thứ nhất là giúp lọc dữ liệu nâng cao
Thay vì chỉ lọc dữ liệu dựa trên các giá trị cố định, bạn có thể lọc dựa trên các điều kiện logic phức tạp hơn. Chẳng hạn, bạn có thể lọc ra các hàng mà một cột thoả mãn đồng thời hai điều kiện hoặc lọc các hàng dựa trên giá trị của một ô tham chiếu khác.
- Thứ hai là tạo báo cáo tự động
Khi kết hợp hàm QUERY và hàm IF trong Google Sheets cho phép bạn tạo các bảng báo cáo có khả năng tùy chỉnh cao. Tức là bạn có thể xây dựng các công thức để tạo ra các cột mới trong báo cáo với giá trị được tính toán theo điều kiện logic. Chẳng hạn, bạn có thể thêm một cột “Trạng thái” với giá trị là “Hoàn thành” hoặc “Chưa hoàn thành” dựa trên một điều kiện ngày tháng.
- Thứ ba là xử lý dữ liệu linh hoạt
Khi dữ liệu nguồn không hoàn hảo, bạn có thể dùng hàm IF để xử lý các giá trị rỗng hoặc các trường hợp đặc biệt ngay trong câu lệnh QUERY.
Cú pháp của hàm QUERY và hàm IF trong Google Sheets
Bạn có thể kết hợp hàm QUERY và hàm IF theo hai cách chính, tùy thuộc vào mục đích sử dụng.
Sử dụng hàm IF để thực hiện hàm QUERY có điều kiện
Cách này thường cho phép bạn quyết định xem có nên chạy hàm QUERY hay không, dựa trên một điều kiện được kiểm tra bởi hàm IF. Nếu điều kiện đúng, hàm QUERY sẽ được thực thị. Ngược lại, nếu điều kiện sai một giá trị khác sẽ được hiển thị.
*Cú pháp cụ thể như sau:
=IF(điều_kiện, QUERY(phạm_vi_dữ_liệu, “chuỗi_truy_vấn”), “giá_trị_sai”)
Trong đó:
- IF(…): Hàm điều kiện – nếu điều kiện đúng, thực hiện phần đầu tiên, nếu sai, trả về giá trị khác.
- điều_kiện: Điều kiện logic để xác định có chạy hàm QUERY hay không (ví dụ: A1=”Hiện”).
- QUERY(phạm_vi_dữ_liệu, “chuỗi_truy_vấn”): Lọc và truy xuất dữ liệu theo yêu cầu từ bảng dữ liệu.
- “giá_trị_sai”: Giá trị trả về nếu điều kiện không được đáp ứng (có thể là chuỗi trống “”, thông báo lỗi, hoặc giá trị mặc định).
Sử dụng hàm IF để đánh giá kết quả của hàm QUERY ( thường dùng với ARRAYFORMULA)
Cách này thực hiện hàm QUERY trước sau đó dùng hàm IF để xử lý kết quả đầu ra của hàm QUERY. Thông thường, trong công thức này sẽ có hàm ARRAYFORMULA để áp dụng hàm IF cho từng ô trong kết quả của hàm QUERY.
*Cú pháp cụ thể như sau:
=ARRAYFORMULA(IF(QUERY(…) = giá_trị, “giá_trị_thay_thế”, QUERY(…)))
Trong đó:
- ARRAYFORMULA(…): Cho phép công thức hoạt động với mảng nhiều giá trị, thay vì chỉ một ô đơn lẻ.
- IF(điều_kiện, giá_trị_nếu_đúng, giá_trị_nếu_sai): Hàm điều kiện: kiểm tra điều kiện và trả về giá trị tương ứng.
- QUERY(…): Truy vấn dữ liệu từ một bảng (tương tự như SQL).
- QUERY(…) = giá_trị: So sánh kết quả của truy vấn với một giá trị cụ thể.
- “giá_trị_thay_thế”: Giá trị thay thế nếu điều kiện là đúng.
- QUERY(…) (ở cuối IF): Nếu điều kiện là sai, trả về lại kết quả của truy vấn.
Hướng dẫn chi tiết cách kết hợp hàm QUERY và hàm IF trong Google Sheets cơ bản
Việc kết hợp hàm QUERY và hàm IF trong Google Sheets cho phép bạn lọc dữ liệu theo điều kiện tùy chọn và xử lý kết quả linh hoạt hơn. Dưới đây là hai cách phổ biến để kết hợp hai hàm này:
Ví dụ 1 – Dùng hàm IF để thực hiện hàm QUERY có điều kiện
Bạn có bảng dữ liệu như sau:
*Yêu cầu: Bạn cần lọc học sinh lớp 10A khi ô E1 ghi chữ “có”
Công thức:
=IF(E1=”có”; QUERY(A1:C6; “select A; B; C where B=’10A'”; 1); “Không lọc”)
Trong đó:
- IF(…): Hàm điều kiện. Nếu điều kiện đúng → thực hiện hành động thứ nhất; nếu sai → thực hiện hành động thứ hai.
- E1=”có”: Điều kiện kiểm tra: ô E1 có giá trị là “có” hay không.
- QUERY(A1:C6; “select A, B, C where B=’10A'”; 1) : Nếu E1 = “có”, thì thực hiện truy vấn QUERY để lọc dữ liệu.
- “select A, B, C where B=’10A'”: Câu truy vấn chọn cột A, B, C nếu cột B có giá trị là 10A.
- 1: Tham số tiêu đề (header): cho biết hàng đầu tiên (hàng 1) là tiêu đề.
- “Không lọc”: Nếu điều kiện sai (E1 không phải là “có”), hiển thị thông báo “Không lọc”.
Kết quả:
Ví dụ 2 – Dùng hàm IF để đánh giá kết quả của hàm QUERY
*Yêu cầu: Vẫn với bảng dữ liệu trên, giả sử bạn muốn kiểm tra xem điểm học sinh có phải là 9, nếu đúng thì thay bằng chữ “Giỏi”, còn lại giữ nguyên.
Công thức:
=ARRAYFORMULA(IF(QUERY(C2:C6; “select C”; 1) = 9; “Giỏi”; QUERY(C2:C6; “select C”; 1)))
Trong đó:
- ARRAYFORMULA(…): Cho phép áp dụng công thức cho nhiều dòng cùng lúc (mảng kết quả). Không cần sao chép công thức từng dòng.
- QUERY(C2:C6; “select C”; 1): Truy vấn cột C (điểm số) từ bảng dữ liệu A1:C6. 1 là hàng tiêu đề.
- IF(… = 9; “Giỏi”; …): So sánh mỗi giá trị trong cột C với 9: nếu bằng 9 thì trả về “Giỏi”, nếu không thì giữ nguyên giá trị điểm.
Kết quả:
Các lỗi thường gặp khi kết hợp hàm QUERY và hàm IF trong Google Sheets
Khi kết hợp hai hàm này, đặc biệt là khi xử lý các chuỗi truy vấn phức tạp, việc gặp lỗi là điều khó tránh khỏi. Dưới đây là một số lỗi cơ bản khi kết hợp hàm QUERY và hàm IF trong Google Sheets, các bạn nên chú ý:
Lỗi #N/A
Lỗi #N/A xảy ra khi công thức không tìm thấy dữ liệu phù hợp với điều kiện bạn đưa ra. Khi kết hợp hàm QUERY và hàm IF, điều này thường xuất phát từ việc logic của bạn không khớp với dữ liệu nguồn.
- Giá trị lọc không tồn tại. Ví dụ, bạn lọc WHERE Col1 = ‘Apple’ nhưng trong cột 1 không có bất kỳ hàng nào chứa giá trị ‘Apple’.
- Lỗi chính tả do bạn nhập sai chính tả giá trị cần tìm. Ví dụ: “Da giao hang” thay vì “Đã giao hàng”.
- Dư khoảng trắng, tức là giá trị trong ô tham chiếu hoặc trong chuỗi truy vấn có khoảng trắng thừa ở đầu hoặc cuối.
Khi gặp lỗi N/A này, cách khắc phục hiệu quả như sau:
- Bạn cần kiểm tra dữ liệu nguồn, đảm bảo giá trị bạn dùng để lọc (từ hàm IF) thực sự tồn tại trong cột dữ liệu. Bạn có thể dùng hàm UNIQUE() để xem danh sách các giá trị duy nhất trong cột đó.
- Bạn nên sử dụng hàm TRIM(), bọc giá trị cần lọc bằng hàm TRIM() để loại bỏ các khoảng trắng không cần thiết. Ví dụ: … & TRIM(A1) & ….
- Bạn nên sử dụng LIKE thay vì =, để kết hợp với ký tự % tìm kiếm tương đối. Ví dụ: WHERE Col1 LIKE ‘%Laptop%’ sẽ tìm tất cả các hàng có chứa từ “Laptop”, giúp tránh lỗi do sai sót nhỏ về chính tả.
Lỗi #REF
Lỗi #REF! thường liên quan đến các tham chiếu không hợp lệ. Khi bạn sử dụng hàm IMPORTRANGE để lấy dữ liệu từ một file khác và kết hợp với QUERY, lỗi này rất phổ biến.
- Thiếu quyền truy cập do bạn sử dụng IMPORTRANGE để lấy dữ liệu từ một file mới. Nếu bạn bỏ qua hoặc không cấp quyền, công thức sẽ báo lỗi #REF!.
- URL hoặc tên sheet sai do bạn nhập sai trong công thức IMPORTRANGE.
- Phạm vi dữ liệu chỉ định không tồn tại do đã bị xóa hoặc thay đổi trong file nguồn.
Cách khắc phục lỗi #REF! khi kết hợp hàm QUERY và hàm IF cụ thể như sau:
- Cấp quyền truy cập khi bạn nhập công thức IMPORTRANGE. Tức là, bạn cần di chuyển chuột vào ô báo lỗi, một thông báo sẽ hiện ra với nút “Allow access” (Cho phép truy cập), hãy nhấp vào đó để cấp quyền.
- Kiểm tra lại cú pháp để đảm bảo URL file và tên sheet được đặt trong dấu ngoặc kép và được viết chính xác. Tên sheet phải có dấu chấm than ! phía sau.
- Xác minh phạm vi dữ liệu, bằng cách mở file nguồn và kiểm tra lại xem phạm vi dữ liệu bạn tham chiếu có tồn tại và chính xác không
Lỗi #ERROR
Lỗi #ERROR! là lỗi cú pháp chung nhất, thường xuất hiện khi bạn xây dựng chuỗi truy vấn không đúng quy tắc.
- Dư/thiếu dấu nháy đơn hoặc nháy kép trong công thức hàm. Khi bạn nối một giá trị văn bản từ hàm IF vào chuỗi truy vấn, bạn phải dùng dấu nháy đơn ‘ để bao quanh giá trị đó. Lỗi xảy ra khi bạn quên dấu này hoặc đặt sai vị trí.
- Thiếu dấu nối chuỗi (&), do bạn quên sử dụng ký tự & để nối các thành phần trong chuỗi truy vấn. Ví dụ: “WHERE Col1 = ‘”IF(A1=””,”default”,A1)”‘” thay vì “WHERE Col1 = ‘”&IF(A1=””,”default”,A1)&”‘”.
- Sai cú pháp SQL từ các lỗi như thiếu từ khóa (SELECT, WHERE), sai thứ tự các mệnh đề, hoặc sử dụng từ khóa không đúng cách.
Để khắc phục lỗi #ERROR! khi kết hợp hai hàm QUERY và IF, bạn cần:
- Kiểm tra lại cú pháp chuỗi, bằng cách tách công thức thành các phần nhỏ để dễ dàng kiểm tra. Chuỗi truy vấn phải được đặt trong dấu ngoặc kép “”. Giá trị văn bản từ hàm IF phải được đặt trong cặp nháy đơn ” và nối với chuỗi bằng ký tự &.
- Bạn nên sử dụng hàm CONCATENATE hoặc TEXTJOIN, đối với các chuỗi phức tạp. Tức là, bạn có thể tạo chuỗi truy vấn ở một ô riêng bằng cách sử dụng các hàm này, sau đó tham chiếu đến ô đó trong hàm QUERY. Điều này giúp bạn dễ dàng gỡ lỗi hơn.
Lỗi #VALUE
Lỗi #VALUE! xảy ra khi bạn thực hiện một phép tính toán hoặc so sánh không hợp lệ, thường là do sai kiểu dữ liệu.
- So sánh sai kiểu dữ liệu, một cột chứa văn bản với một giá trị số, hoặc ngược lại. Ví dụ, WHERE Col2 > 100 trong khi cột 2 chứa các giá trị như “A101”, “B102”.
- Hàm IF trả về sai kiểu dữ liệu là một chuỗi văn bản trong khi bạn cần lọc theo số hoặc ngày tháng.
Khi gặp lỗi #VALUE, bạn chỉ cần khắc phục bằng cách như sau:
- Bạn cần đảm bảo cột bạn đang lọc và giá trị lọc có cùng kiểu dữ liệu. Nếu bạn lọc theo ngày, hãy chắc chắn cả hai đều là định dạng ngày.
- Sử dụng hàm VALUE() hoặc TEXT(), nếu bạn cần chuyển đổi giữa các kiểu dữ liệu, hãy sử dụng các hàm này. Ví dụ: WHERE Col3 > “&VALUE(A1)&” để đảm bảo giá trị từ ô A1 được xem là một số.
>>> Xem thêm: Cách dùng hàm QUERY kết hợp IMPORTRANGE trong Google Sheets
Một số lưu ý khi kết hợp hàm QUERY và hàm IF trong Google Sheets
Để kết hợp hàm QUERY và hàm IF trong Google Sheets được suôn sẻ, bạn cũng cần lưu ý một số điểm quan trọng sau đây:
- Thứ nhất là về kiểu dữ liệu
Bạn luôn phải chú ý đến kiểu dữ liệu của các cột bạn đang làm việc. Khi lọc theo văn bản, hãy đảm bảo rằng giá trị lọc được đặt trong dấu nháy đơn ‘ (ví dụ: ‘Đã giao hàng’). Khi lọc theo số, không sử dụng dấu nháy đơn.
- Thứ hai là phải sử dụng dấu nháy kép và nháy đơn cẩn thận
Chuỗi truy vấn của QUERY phải được đặt trong dấu nháy kép “”. Khi bạn cần đưa một giá trị văn bản vào chuỗi truy vấn đó, bạn phải sử dụng dấu nháy đơn ” cho giá trị đó, và nối chuỗi bằng ký tự &. Ví dụ: “WHERE Col1 = ‘”&A1&”‘”.
- Thứ ba là nên tận dụng các ô tham chiếu
Thay vì nhúng các giá trị cố định vào công thức, bạn hãy tham chiếu đến các ô khác trên bảng tính. Điều này giúp bạn dễ dàng thay đổi điều kiện lọc mà không cần phải sửa lại toàn bộ công thức, từ đó tạo ra các báo cáo động và linh hoạt hơn.
Lời kết
Tóm lại, kết hợp hàm QUERY và hàm IF trong Google Sheets là cách tuyệt vời để xử lý dữ liệu phức tạp. Việc hiểu rõ bản chất từng hàm và cách vận dụng đúng ngữ cảnh sẽ giúp bạn khai thác tối đa sức mạnh của Google Sheets. Nếu bạn còn thắc mắc hoặc cần hỗ trợ, đừng ngần ngại liên hệ với GCS Việt Nam qua các kênh dưới đây để được hỗ trợ từ các chuyên gia nhanh chóng nhất.
- Fanpage: GCS – Google Cloud Solutions
- Hotline: 024.9999.7777















