=CHOOSE(B2,"Low","Medium","High") trả về giá trị ở vị trí do B2 chỉ định: Low với 1, Medium với 2, High với 3. Đối số đầu tiên là chỉ số, và mọi thứ phía sau là danh sách để chọn.
| A | B | C | |
|---|---|---|---|
| 1 | Task | Priority | Label |
| 2 | Fix login | 3 | High |
| 3 | Update docs | 1 | Low |
| 4 | Review PR | 2 | Medium |
| 5 | Clean inbox | 1 | Low |
| 6 | Ship release | 3 | High |
Đổi một mức ưu tiên thành 2 thì nhãn của nó đổi thành Medium. Mức ưu tiên 4 sẽ cho #VALUE!, vì danh sách chỉ có ba giá trị; số 0 cũng vậy.
Cú pháp CHOOSE
=CHOOSE(index_num, value1, [value2], ...)
index_num: một số từ 1 đến số lượng giá trị (tối đa 254). Số thập phân bị cắt xuống thành số nguyên, nên 2,9 sẽ chọn giá trị thứ 2.value1, value2, ...: những gì cần trả về. Có thể là số, văn bản, tham chiếu ô, công thức hoặc cả một vùng.
Tên thứ trong tuần từ một ngày
WEEKDAY trả về một số từ 1 (Chủ Nhật) đến 7 (Thứ Bảy), đúng là chỉ số mà CHOOSE cần.
| A | B | |
|---|---|---|
| 1 | Date | Day |
| 2 | 2026-03-02 | Mon |
| 3 | 2026-03-06 | Fri |
| 4 | 2026-03-07 | Sat |
| 5 | 2026-03-11 | Wed |
| 6 | 2026-03-15 | Sun |
Ngày 2026-03-02 là Thứ Hai, nên B2 hiện Mon. Sửa một ngày thì tên thứ đổi theo. =TEXT(A2,"ddd") cho ra cùng các tên viết tắt mà không cần danh sách (trang weekday có giải thích). CHOOSE là lựa chọn phù hợp khi bạn muốn dùng nhãn riêng, như "Weekday" và "Weekend", hoặc một tuần bắt đầu từ ngày khác.
CHOOSE thay cho IF lồng nhau
Khi điều kiện là một số thứ tự, CHOOSE thay được cả chuỗi IF. Cả hai công thức dưới đây đều trả về tỷ lệ tăng trưởng cho số kịch bản trong B1.
| A | B | |
|---|---|---|
| 1 | Scenario (1 to 3) | 2 |
| 2 | Growth (CHOOSE) | 5% |
| 3 | Growth (nested IF) | 5% |
| 4 | ||
| 5 | Sales this year | 120,000 |
| 6 | Sales next year | 126,000 |
Kịch bản 2 cho 5% và doanh số năm sau là 126.000. Chọn 3 trong B1 để có 8%. Bản dùng CHOOSE luôn chỉ sâu một cấp dù bạn thêm bao nhiêu kịch bản; bản dùng IF thì mỗi kịch bản lại thêm một cấp. Khi điều kiện là một nhãn văn bản, hãy dùng SWITCH; với các khoảng giá trị như từ 0 đến 999, hãy dùng bảng tra cứu.
Chọn cả một vùng
Các giá trị có thể là vùng, nên CHOOSE có thể quyết định SUM hay AVERAGE sẽ đọc cột nào. Với doanh số từ tháng 1 đến tháng 3 nằm ở B2:B5, C2:C5 và D2:D5, cùng số tháng ở F2:
=SUM(CHOOSE(F2, B2:B5, C2:C5, D2:D5))
Với 3 trong F2, công thức này tính tổng D2:D5, tức cột tháng 3. Khi có nhiều cột hơn, liệt kê từng vùng sẽ rất dài, và INDEX làm được điều tương tự chỉ với một vùng: =SUM(INDEX(B2:D5,0,F2)), trong đó 0 nghĩa là "mọi hàng" (trang INDEX có giải thích). CHOOSE vẫn hữu ích khi các vùng không nằm cạnh nhau, hoặc nằm ở các trang tính khác nhau.
CHOOSECOLS và CHOOSEROWS
Microsoft 365 và Excel 2024 có thêm hai hàm chọn cả cột hoặc cả hàng trong một vùng theo số thứ tự rồi trả kết quả tràn ra các ô bên cạnh. Số âm sẽ đếm từ cuối.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Product | Stock | |
| 2 | Apple | Fruit | $1.20 | 40 | Apple | 40 | |
| 3 | Pear | Fruit | $1.50 | 25 | Pear | 25 | |
| 4 | Carrot | Vegetable | $0.80 | 60 | Carrot | 60 | |
| 5 | Bread | Bakery | $2.40 | 15 | Bread | 15 | |
| 6 | Milk | Dairy | $1.10 | 30 | Milk | 30 |
F1 trả về cột Product và cột Stock, kèm cả tiêu đề. Các số có thể theo bất kỳ thứ tự nào: =CHOOSECOLS(A1:D6,4,1) đặt Stock trước Product. =CHOOSEROWS(A1:D6,1,-1) trả về hàng tiêu đề và hàng cuối cùng.
Luyện tập: phí vận chuyển theo phương thức
| A | B | C | |
|---|---|---|---|
| 1 | Order | Method | Cost |
| 2 | 1001 | 2 |
Đến lượt bạn: Phương thức 1 có phí 5, phương thức 2 có phí 9 và phương thức 3 có phí 15. Trong C2, dùng CHOOSE để trả về phí của số phương thức ở B2.
Câu hỏi thường gặp
Hàm CHOOSE trong Excel dùng để làm gì?
Hàm trả về một giá trị trong danh sách dựa trên một con số: =CHOOSE(2,"Red","Green","Blue") trả về Green. Đối số đầu tiên chọn vị trí, còn các giá trị phía sau có thể là số, văn bản, tham chiếu ô hoặc vùng.
Vì sao CHOOSE trả về #VALUE!?
Chỉ số nhỏ hơn 1 hoặc lớn hơn số lượng giá trị. =CHOOSE(4,"Red","Green","Blue") chỉ có ba giá trị để chọn. Chỉ số thập phân bị cắt xuống thành số nguyên, nên 2,7 sẽ chọn giá trị thứ hai.
Khi nào nên dùng CHOOSE thay cho IF?
Khi điều kiện là một số thứ tự như 1, 2, 3. =CHOOSE(B2,5,9,15) ngắn hơn và dễ đọc hơn =IF(B2=1,5,IF(B2=2,9,15)). Với điều kiện không phải dãy số liên tiếp, hãy dùng IFS, SWITCH hoặc một bảng tra cứu.
Hàm CHOOSECOLS trong Excel là gì?
Một hàm mới hơn, trả về các cột được chọn của một vùng: =CHOOSECOLS(A1:D5,1,4) trả về cột thứ nhất và cột thứ tư. CHOOSEROWS làm điều tương tự với hàng, và số âm sẽ đếm từ cuối. Cả hai cần Microsoft 365 hoặc Excel 2024.