Những vấn đề về hàm IF

Chúng ta ai cũng biết hàm IF trong Excel chỉ thể hiện được 7 vòng lặp. Vậy trong

những trường hợp cần thiết khác, chúng ta sẽ làm gì ?

Td đơn giản nhất là :

Tại B1 :Nếu A1="A", B1=1, A1="B", B1=2, A1="C", B1=3, A1="D", B1=4,

A1="E", B1=5, A1="F", B1=6, A1="G", B1=7, A1="H", B1=8, A1="I", B1=9,

A1="J", B1=10, A1="K", B1=11, A1="L", B1=12, A1="M", B1=13....

Tôi xin giới thiệu với các bạn vài cách thức mà tôi sưu tầm được :

1/ Đặt tên cho từng đoạn công thức. Td : MotDenSau, MotDenMuoiBa

2/ Sử dụng hàm VLOOKUP, tạo một mảng gồm 2 cột, cột thứ nhất gồm những giá

trị A, B, C..., cột thứ 2 gồm những giá trị 1, 2, 3...

B1=VLOOKUP(A1,DS,2,0)

3/ Sử dụng VBA

4/ Sử dụng hàm CONCATENATE() :

B1=CONCATENATE(IF(A1="A",1,""),IF(A1="B",2,""),IF(

A1="C",3,""),....,IF(A1="M",13,"")). Hàm này sử dụng được 30 đối số

5/ Sử dụng phép kết hợp :

- Nếu kiểu dữ liệu là Text thì :

B1=IF(A1="A",1,"")&IF(A1="B",2,"")&IF(A1="C",3,"")

&....&IF(A1="M",13,""). Phương pháp này giới hạn 30 "&"

-Nếu kiểu dữ liệu là Number thì :

B1=IF(A1="A",1,0)+IF(A1="B",2,0)+IF(A1="C",3,0)+.. ..+IF(A1="M",13,0).

6/Sử dụng Boolean Multiplication :

B1=(A1="A")*1+(A1="B")*2+(A1="C")*3+....+(A1="M")* 13