Giúp gỡ rối về hàm if

Liên hệ QC

trai ho mo

Thành viên mới
Tham gia
29/10/12
Bài viết
21
Được thích
5
Tôi có làm 1 công thức gồm các hàm if lồng nhau nhưng không được. Có lẽ do dài quá. Xin các bác giúp ý kiến
'=IF(Danh_sach!AD2=Danh_sach!G1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,6,0),IF(Danh_sach!AD2=Danh_sach!I1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,8,0),IF(Danh_sach!AD2=Danh_sach!K1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,10,0),IF(Danh_sach!AD2=Danh_sach!M1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,12,0),IF(Danh_sach!AD2=Danh_sach!O1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,14,0),IF(Danh_sach!AD2=Danh_sach!Q1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,16,0),IF(Danh_sach!AD2=Danh_sach!s1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,18,0),IF(Danh_sach!AD2=Danh_sach!u1,vlookup(Danh_sach!AE2,Danh_sach!A3:Ac2000,20,0),IF(Danh_sach!AD2=Danh_sach!w1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,22,0),IF(Danh_sach!AD2=Danh_sach!y1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,24,0),IF(Danh_sach!AD2=Danh_sach!aa1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,26,0),VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,28,0))))))))))))
Cám ơn
 
Hãy đính kèm file. Và mô tả rõ ý của anh muốn làm. Chứ quăng công thức lên đây. Ai biết giúp thế nào
 
  • Thích
Reactions: th7
Tôi có làm 1 công thức gồm các hàm if lồng nhau nhưng không được. Có lẽ do dài quá. Xin các bác giúp ý kiến
'=IF(Danh_sach!AD2=Danh_sach!G1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,6,0),IF(Danh_sach!AD2=Danh_sach!I1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,8,0),IF(Danh_sach!AD2=Danh_sach!K1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,10,0),IF(Danh_sach!AD2=Danh_sach!M1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,12,0),IF(Danh_sach!AD2=Danh_sach!O1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,14,0),IF(Danh_sach!AD2=Danh_sach!Q1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,16,0),IF(Danh_sach!AD2=Danh_sach!s1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,18,0),IF(Danh_sach!AD2=Danh_sach!u1,vlookup(Danh_sach!AE2,Danh_sach!A3:Ac2000,20,0),IF(Danh_sach!AD2=Danh_sach!w1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,22,0),IF(Danh_sach!AD2=Danh_sach!y1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,24,0),IF(Danh_sach!AD2=Danh_sach!aa1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,26,0),VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,28,0))))))))))))
Cám ơn
Tốt nhất là gửi cái file lên.Công thức thì dài mà dữ liệu không có ai mà chỉnh được.
 
Cái thói cứ thấy vấn đề là lên bài hải "không được". Muốn người ta giúp mình thì trước hết phải bình tuinhx, suy nghĩ vấn đề của mình, trình bày, đọc lại, thêm những chi tiết còn thiếu, chỉnh sửa những chỗ lủng củng, khó hiểu.
Không được là thế nào? Error? Excel không chấp nhận? Excel chấp nhận nhưng không ra kết quả mong muốn?

Nếu là phiên bản 2019 thì dùng hàm SWITCH thay vì IF's lồng nhau.

=SWITCH( Danh_sach!AD2,
Danh_sach!G1, VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,6,0),
Danh_sach!I1, VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,6,0),
...

Tuy nhiên, thật ra thì ba cái mớ IF's chỉ là để chọn cột kết quả., chứ cái chỗ LOOKUP thì in hệt như nhau.

=VLOOKUP(Danh_sach!AE2, Danh_sach!A3:AC2000, chọn cột, 0)
chọn cột = SWITCH(Danh_sach!AD2, Danh_sach!G1, 6, Danh_sach!I1, 8, ..., 28)

Nếu trước 2019 (không có hàm SWITCH) thì dùng hàm CHOOSE để dựng một array Danh_sach!G1, I1, ... Sau đó dùng Match để dò trị Danh_sach!AE2.

Nếu 365 thì dùng hàm Filter để lập array
FILTER(Danh_sach!G1:AA1, ISODD(COLUMN(Danh_sach!G1:AA1)))

Chú thích: nên đặt name cho các ô sử dụng nhiều. Như vậy về sau sẽ dễ dò chỗ sai và hoặc chỉnh sửa nếu cần.
Ví dụ: BangDo = Danh_sach!A3:Ac2000.
nếu cột AD là tên hàng hóa thì đặt TenHang = Danh_sach!AD2
vân vân,...
.
 
Lần chỉnh sửa cuối:
Khả năng cao là đang cố nhập công thức này vào file dạng .xls
Nhiều bạn lên hỏi mà chỉ một chữ không được, đến nội dung cái thông báo cũng không có.
 
Tôi có làm 1 công thức gồm các hàm if lồng nhau nhưng không được. Có lẽ do dài quá. Xin các bác giúp ý kiến
'=IF(Danh_sach!AD2=Danh_sach!G1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,6,0),IF(Danh_sach!AD2=Danh_sach!I1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,8,0),IF(Danh_sach!AD2=Danh_sach!K1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,10,0),IF(Danh_sach!AD2=Danh_sach!M1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,12,0),IF(Danh_sach!AD2=Danh_sach!O1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,14,0),IF(Danh_sach!AD2=Danh_sach!Q1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,16,0),IF(Danh_sach!AD2=Danh_sach!s1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,18,0),IF(Danh_sach!AD2=Danh_sach!u1,vlookup(Danh_sach!AE2,Danh_sach!A3:Ac2000,20,0),IF(Danh_sach!AD2=Danh_sach!w1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,22,0),IF(Danh_sach!AD2=Danh_sach!y1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,24,0),IF(Danh_sach!AD2=Danh_sach!aa1,VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,26,0),VLOOKUP(Danh_sach!AE2,Danh_sach!A3:Ac2000,28,0))))))))))))
Cám ơn
.
Bạn cũng có thể dùng hàm MATCH để chọn cột:

Mã:
=VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,MATCH(Danh_sach!AD2,Danh_sach!A1:AC1,0)-1,0)

.
 
.
Bạn cũng có thể dùng hàm MATCH để chọn cột:

Mã:
=VLOOKUP(Danh_sach!AE2,Danh_sach!A3:AC2000,MATCH(Danh_sach!AD2,Danh_sach!A1:AC1,0)-1,0)

.
Không được.
Theo công thức bài #1 thì chỉ Match xen kẻ. Bạn cho Match suốt như thế có thể sẽ ra kết quả sai.
Ở bauif #4 tôi có đề nghị các cách tạo array gồm các ô chẵn của dãy A1:AC1 này.
 
Web KT

Bài viết mới nhất

Back
Top Bottom