Khi cần lấy giá trị khác nhau từ danh sách dựa trên điều kiện, nhiều người thường nghĩ ngay đến hàm IF lồng nhau hoặc VLOOKUP. Hàm CHOOSE đơn giản hơn nhiều cho trường hợp này. Nó trả về giá trị từ một danh sách dựa trên số thứ tự bạn chỉ định, không cần thiết lập bảng tra cứu hay viết điều kiện phức tạp.

Cú pháp cơ bản của hàm CHOOSE
Hàm CHOOSE hoạt động theo logic đơn giản: bạn cung cấp một số thứ tự và danh sách các giá trị, hàm sẽ trả về giá trị tương ứng với vị trí đó.
Cú pháp:
=CHOOSE(index_num, value1, [value2], [value3], ...)
Các thành phần:
index_num: Số thứ tự từ 1 đến 254, chỉ định giá trị nào sẽ được trả vềvalue1: Giá trị bắt buộc đầu tiên trong danh sáchvalue2, value3...: Các giá trị tùy chọn tiếp theo, tối đa 254 giá trị
Nếu index_num là 1, hàm trả về value1. Nếu là 2, hàm trả về value2. Nếu index_num nhỏ hơn 1 hoặc lớn hơn số lượng giá trị trong danh sách, hàm trả về lỗi #VALUE!.
Chọn giá trị từ danh sách đơn giản
Ứng dụng cơ bản nhất của hàm CHOOSE là chọn một giá trị cụ thể từ danh sách có sẵn dựa trên vị trí.
Giả sử bạn có bảng sản phẩm với cột STT, Tên sản phẩm, và Số lượng. Muốn lấy số lượng của sản phẩm ở vị trí thứ 3:
Công thức:
=CHOOSE(3, A2, B2, C2)
Nếu A2 chứa “1”, B2 chứa “Laptop”, C2 chứa “15”, kết quả sẽ là 15 vì đó là giá trị thứ 3 trong danh sách.
Điểm mạnh của CHOOSE là index_num có thể là kết quả từ công thức khác. Thay vì số cố định, bạn có thể dùng =CHOOSE(D2, A2, B2, C2) để giá trị trong ô D2 quyết định kết quả trả về.
Kết hợp với hàm WEEKDAY để hiển thị thứ
Một trong những ứng dụng phổ biến nhất của CHOOSE là kết hợp với hàm WEEKDAY để chuyển đổi ngày thành tên thứ trong tuần.
Hàm WEEKDAY trả về số từ 1 đến 7 tương ứng với các ngày trong tuần (1 = Chủ nhật, 2 = Thứ hai, v.v.). CHOOSE nhận số này và trả về tên thứ tương ứng.
Công thức:
=CHOOSE(WEEKDAY(A2),"Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy")
Nếu ô A2 chứa ngày 15/10/2025 (là thứ tư), WEEKDAY trả về 4, và CHOOSE sẽ chọn giá trị thứ 4 trong danh sách là “Thứ tư”.
Cách này nhanh hơn nhiều so với việc dùng 7 điều kiện IF lồng nhau. Chỉ cần kéo công thức xuống các ô bên dưới, tất cả ngày tháng sẽ tự động chuyển thành tên thứ.
Tính tổng động với SUM và CHOOSE
CHOOSE có thể trả về không chỉ một giá trị đơn mà còn cả vùng dữ liệu. Điều này hữu ích khi kết hợp với hàm SUM để tính tổng các cột khác nhau dựa trên điều kiện.
Giả sử bạn có bảng dữ liệu với cột Tháng 1 đến Tháng 12, và muốn tính tổng của một tháng cụ thể dựa trên số nhập vào:
Công thức:
=SUM(CHOOSE(E2, B4:B10, C4:C10, D4:D10, E4:E10, F4:F10))
Trong đó E2 chứa số từ 1 đến 5 để chọn cột tương ứng. Nếu E2 = 2, công thức sẽ tính tổng cột C4:C10.
Tôi thường dùng cách này để tạo báo cáo động. Thay vì tạo nhiều công thức riêng cho từng tháng, chỉ cần một công thức với CHOOSE và thay đổi giá trị chọn lựa.
Xử lý lỗi thường gặp
Lỗi #VALUE! là lỗi phổ biến nhất khi sử dụng CHOOSE, thường xuất hiện trong hai trường hợp.
Trường hợp 1: Index_num ngoài phạm vi
Nếu bạn có 5 giá trị trong danh sách nhưng index_num là 6 hoặc 0, hàm sẽ báo lỗi. Luôn kiểm tra index_num nằm trong khoảng từ 1 đến số lượng giá trị thực tế.
Trường hợp 2: Index_num là số thập phân
Nếu index_num là 2.7, Excel tự động làm tròn xuống thành 2 trước khi thực hiện. Điều này có thể gây nhầm lẫn nếu bạn mong đợi kết quả khác. Dùng hàm ROUND hoặc INT để làm rõ ý định:
=CHOOSE(INT(A2), "Giá trị 1", "Giá trị 2", "Giá trị 3")
Một mẹo nhỏ: nếu index_num từ công thức khác, dùng IFERROR bao ngoài để xử lý trường hợp lỗi:
=IFERROR(CHOOSE(A2, B2, C2, D2), "Giá trị không hợp lệ")
Khi nào nên dùng CHOOSE thay vì các hàm khác
CHOOSE phù hợp nhất khi bạn có danh sách giá trị cố định và ngắn (dưới 10 giá trị) cần chọn dựa trên số thứ tự. Nó đơn giản hơn IF lồng nhau và nhanh hơn VLOOKUP cho trường hợp này.
Tuy nhiên, CHOOSE không phải lựa chọn tốt nếu:
- Danh sách giá trị thay đổi thường xuyên (nên dùng VLOOKUP hoặc INDEX-MATCH)
- Số lượng giá trị lớn hơn 20 (công thức trở nên khó đọc)
- Cần tra cứu dựa trên văn bản thay vì số thứ tự (dùng XLOOKUP trong Excel 365)
Hàm CHOOSE hoạt động trên Excel 2010 trở lên, bao gồm Excel 365, Excel 2019, 2016, và 2013. Nó xử lý được mọi kiểu dữ liệu: số, văn bản, ngày tháng, công thức, hoặc tham chiếu ô. Nếu cần tra cứu phức tạp hơn với điều kiện động, hãy xem xét kết hợp CHOOSE với MATCH hoặc nâng cấp lên XLOOKUP cho Excel 365.
