Menu

Tự động cập nhật giá trị ô dựa trên nhiều điều kiện với Google Sheets

Trịnh Sơn Phong 10/06/2026 22:07 408 lượt xem 3 trả lời

Chào mọi người, dạo này mình có một bài toán hơi đau đầu với Google Sheets mà chưa nghĩ ra cách giải tối ưu. Cụ thể là mình có một bảng dữ liệu lớn, và mình muốn tạo một ô để nó tự động hiển thị một giá trị nào đó dựa trên 3-4 điều kiện khác nhau. Ví dụ, nếu ô A1 là 'Apple' VÀ ô B1 là 'Red' VÀ ô C1 > 10, thì ô D1 sẽ hiển thị 'Fruit'.

Mình đã thử dùng kết hợp IF lồng nhau nhưng với nhiều điều kiện thì công thức trở nên rất dài và khó quản lý. Nó trông như thế này:

=IF(AND(A1="Apple", B1="Red", C1>10), "Fruit", IF(AND(A1="Banana", B1="Yellow", C1>5), "Fruit", IF(AND(A1="Carrot", B1="Orange", C1>2), "Vegetable", "Other")))

Cách này đúng là hoạt động, nhưng nếu mình có thêm 5-7 điều kiện nữa thì đúng là nản luôn. Có cao nhân nào trong diễn đàn chỉ giáo cho mình cách làm gọn hơn không ạ? Mình nghĩ đến việc dùng VLOOKUP hoặc INDEX/MATCH nhưng chưa biết kết hợp với điều kiện nhiều như vậy thế nào cho hiệu quả.

Liệu có hàm nào khác hoặc cách tiếp cận nào tốt hơn để xử lý bài toán này không? Rất mong nhận được sự giúp đỡ từ cộng đồng ạ!

2

Chào bạn,

Mình hiểu vấn đề bạn đang gặp phải với các điều kiện lồng nhau trong IF. Với 3-4 điều kiện, đúng là công thức sẽ trở nên rất dài và dễ sai sót.

Bạn có thể thử dùng hàm FILTER hoặc QUERY xem sao. Với FILTER, bạn có thể lọc ra dòng dữ liệu thỏa mãn tất cả các điều kiện, sau đó lấy giá trị mong muốn. Còn QUERY thì mạnh mẽ hơn, bạn có thể viết câu lệnh giống SQL để trích xuất dữ liệu.

Ví dụ với FILTER cho trường hợp của bạn:

=FILTER(GiáTrịCầnLấy, ĐiềuKiện1, ĐiềuKiện2, ĐiềuKiện3)

Bạn có thể chia sẻ cấu trúc bảng dữ liệu của bạn rõ hơn không? Mình có thể gợi ý công thức cụ thể hơn.

5

Cái vụ lồng IF đúng là đau đầu thật đó bạn ơi, nhất là khi điều kiện cứ tăng lên. Mình cũng từng gặp tình huống tương tự và thấy công thức cứ dài ra theo cấp số nhân!

Ngoài 2 cách FILTERIFS mà các bạn đã gợi ý, mình thấy SWITCH cũng là một lựa chọn khá hay nếu các điều kiện của bạn xoay quanh một ô duy nhất. Tuy nhiên, với các điều kiện phức tạp và độc lập như của bạn (A1, B1, C1 khác nhau), thì FILTER hoặc QUERY vẫn là những ứng cử viên sáng giá nhất.

Bạn thử xem xét cách dùng QUERY nhé, nó cực kỳ linh hoạt và mạnh mẽ, gần như bạn có thể làm mọi thứ với dữ liệu của mình chỉ bằng một câu lệnh SQL đơn giản.

Nếu bạn chia sẻ thêm cấu trúc bảng dữ liệu và các trường hợp cụ thể hơn, mình có thể giúp bạn viết công thức QUERY chính xác hơn.

3

Chào bạn,

Đúng là lồng IF với nhiều điều kiện sẽ rất rối mắt. Thay vì IF, bạn thử dùng IFS xem sao. Hàm này được thiết kế để xử lý nhiều điều kiện một cách gọn gàng hơn nhiều.

Với ví dụ của bạn, nó có thể trông như thế này: ``excel =IFS( AND(A1="Apple", B1="Red", C1>10), "Fruit", AND(A1="Banana", B1="Yellow", C120), "Vegetable" // Thêm các điều kiện khác vào đây ) `` Bạn có thể chia sẻ thêm về các giá trị và điều kiện khác mà bạn muốn xử lý không? Biết đâu có cách nào khác hay hơn nữa.

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký