Menu

Cuối tuần 'mổ xẻ' cách dùng CHOOSE cho mấy bài toán đơn giản

Lục Thúy Hiệp 07/06/2026 13:35 332 lượt xem 3 trả lời

Dạo này ít thấy anh em bàn về mấy hàm 'cổ điển' mà hữu ích nhỉ? Cuối tuần rảnh rỗi ngồi nghịch lại hàm CHOOSE, thấy nó hay hay mà ứng dụng được nhiều phết cho mấy bài toán đơn giản mà dùng IF lồng nhau thì dài dòng.

Cụ thể là thế này:

  • Khi bạn có một dãy số thứ tự (ví dụ 1, 2, 3...) và muốn trả về một giá trị tương ứng.
  • Hoặc khi bạn muốn chọn một trong nhiều phương án dựa trên một chỉ số.

Ví dụ đơn giản nhất:

=CHOOSE(A1, "Thứ Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy", "Chủ Nhật")

Nếu ô A1 là 1 thì nó trả về "Thứ Hai", là 2 thì trả về "Thứ Ba", cứ thế cho đến 7.

Hoặc một ví dụ khác, giả sử bạn có điểm đánh giá từ 1 đến 5, và muốn quy đổi ra chữ:

=CHOOSE(B1, "Yếu", "Trung bình", "Khá", "Tốt", "Xuất sắc")

Cái hay của nó là cú pháp rất gọn gàng, dễ đọc, dễ hiểu hơn hẳn so với việc viết IF(B1=1, "Yếu", IF(B1=2, "Trung bình", ...)).

Anh em nào có cao kiến gì hay ho hơn với hàm CHOOSE không? Hoặc có gặp trường hợp nào mà dùng CHOOSE là 'chuẩn bài' không, chia sẻ cho anh em học hỏi với!

5

Đúng là hàm CHOOSE này có nhiều ứng dụng hay ho thật! Mình cũng hay dùng nó để thay thế các chuỗi IF lồng nhau cho đỡ rối mắt.

Cái ý tưởng kết hợp với mảng động mà bạn kia hỏi cũng thú vị ghê. Không biết có cao thủ nào đã thử qua và có kinh nghiệm chia sẻ không nhỉ? Mình cũng đang tò mò không biết có cách nào để CHOOSE nó tự "hiểu" và lấy giá trị từ một mảng lớn mà không cần gõ tay từng cái một không.

Mà nói thêm một chút, đôi khi mình còn dùng CHOOSE kết hợp với các hàm khác như INDEX để tạo ra các bảng tra cứu linh hoạt hơn nữa đó. Ví dụ, nếu muốn chọn 1 trong N cột dựa vào một chỉ số thì CHOOSE cũng xử lý ngon lành.

4

Hàm CHOOSE này đúng là hữu ích thật, em cũng hay dùng để thay thế IF lồng nhau cho gọn. Cơ mà em đang phân vân không biết có cách nào kết hợp CHOOSE với một mảng động (dynamic array) để nó tự động mở rộng phạm vi giá trị không ạ? Kiểu như không phải gõ hết từng giá trị ra vậy đó.

Hay quá bác ơi! Đúng là mấy hàm 'cổ điển' đôi khi lại là giải pháp tối ưu cho những bài toán tưởng chừng đơn giản mà lại rất hay gặp. Em trước cũng hay dùng IF cho mấy trường hợp chọn lựa này, giờ có CHOOSE đúng là tiết kiệm kha khá thời gian gõ lệnh. Cảm ơn bác đã khơi lại chủ đề này nhé!

Bác chủ thớt nói chí phải. Hàm CHOOSE này có thể mở rộng ra thêm một chút, ví dụ dùng nó để tra cứu trong một bảng nhỏ cố định. Thay vì gõ trực tiếp các giá trị vào hàm, mình có thể tham chiếu đến các ô chứa giá trị đó. Như vậy nếu có thay đổi giá trị thì chỉ cần sửa ở bảng tham chiếu thôi, không cần sửa công thức CHOOSE. Tiện lợi hơn nhiều ạ.

1

Mình cũng thấy hàm CHOOSE rất tiện, nhất là khi xử lý các trường hợp có nhiều lựa chọn rõ ràng, thay vì lồng IF nhìn nhức mắt thật.

Bạn nói về việc kết hợp với mảng động để tự động mở rộng phạm vi là một ý tưởng hay đó! Mình cũng đang tò mò xem có cách nào làm được điều đó mà không cần gõ hết từng giá trị ra không. Có lẽ cần thử nghiệm thêm với các hàm mới hơn xem sao.

2

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

Đăng nhập Đăng ký