Vlookup và if cần các bạn trợ giúp

  • Thread starter Thread starter locbanh
  • Ngày gửi Ngày gửi
Liên hệ QC

locbanh

Thành viên chính thức
Tham gia
5/5/13
Bài viết
70
Được thích
8
TRONG ĐÂY MÌNH CÓ 1 BẢNG GỒM VÙNG VÀ KHỐI LƯỢNG.
NHƯNG KHỐI LƯƠNG CỦA MÌNH THÌ RẤT NHIỀU CỘT.
TẠI Ô C9 MÌNH ĐÃ NHẬP CÔNG THỨC NHƯ SAU:

=VLOOKUP(A9,$A$2:$P$6,IF(B9<51,2,IF(B9<101,3,IF(B9<251,4,IF(B9<501,5,IF(B9<1001,6,IF(B9<1501,7,IF(B9<2001,8,"xemlai"))))))),0)

BÂY GIỜ KHỐI LƯỢNG CỦA MÌNH CÓ 100 CỘT KHÔNG LẼ MÌNH IF 100 LẦN ,

CÓ HÀM NÀO THAY THẾ ĐƯƠC KHÔNG, MONG CÁC ANH EM GIÚP GIÙM MÌNH.

CẢM ƠN NHIỀU
 
Nếu số X bằng 50 thì nó thuộc nhóm nào vậy bạn? Bởi vì trong bảng của bạn ghi là:

Cột B: < 50

Cột C: 50 < X <= 100

Hỏi thêm, X có số lẻ không? Ví dụ 600.99
 
x la số nguyên ,nói tóm gọn x là khối lương đó bạn
 
Nhưng nếu là 50 thì tính sao đây? nằm cột 2 hay cột 3???
Cứ cho là cột 2 đi, như vậy công thức cho C9 có thể là thế này:
Mã:
=VLOOKUP(A9,$A$2:$P$6,MATCH(B9,{0,51,101,251,501,1001,1501,2001,2501,3001,3501,4001,4501,5001,5501},1)+1,0)
hoặc công thức mảng này:
Mã:
=VLOOKUP(A9,$A$2:$P$6,IF(B9<501,MATCH(B9,{0,51,101,251},1)+1,MATCH(B9,500*ROW($1:$11)+1,1)+5),0)
 
Cứ cho là cột 2 đi, như vậy công thức cho C9 có thể là thế này:
Mã:
=VLOOKUP(A9,$A$2:$P$6,MATCH(B9,{0,51,101,251,501,1001,1501,2001,2501,3001,3501,4001,4501,5001,5501}[COLOR=#ff0000],1[/COLOR])+1,0)
hoặc công thức mảng này:
Mã:
=VLOOKUP(A9,$A$2:$P$6,IF(B9<501,MATCH(B9,{0,51,101,251},1)+1,MATCH(B9,500*ROW($1:$11)+1,1)+5),0)

Thì anh cũng đã làm như vậy, nhưng ai biết được mình làm đúng không, phải hỏi tác giả trước chứ:

Mã:
=VLOOKUP(A9,$A$2:$P$6,MATCH(B9,{0,51,101,251,501,1001,1501,2001,2501,3001,3501,4001,4501,5001,5501,[COLOR=#ff0000]6001[/COLOR]})+1,0)

Nếu số còn nhiều hơn nữa thì tiếp tục từ số 6001 vậy thôi.
 
Lần chỉnh sửa cuối:
TRONG ĐÂY MÌNH CÓ 1 BẢNG GỒM VÙNG VÀ KHỐI LƯỢNG.
NHƯNG KHỐI LƯƠNG CỦA MÌNH THÌ RẤT NHIỀU CỘT.
TẠI Ô C9 MÌNH ĐÃ NHẬP CÔNG THỨC NHƯ SAU:

=VLOOKUP(A9,$A$2:$P$6,IF(B9<51,2,IF(B9<101,3,IF(B9<251,4,IF(B9<501,5,IF(B9<1001,6,IF(B9<1501,7,IF(B9<2001,8,"xemlai"))))))),0)

BÂY GIỜ KHỐI LƯỢNG CỦA MÌNH CÓ 100 CỘT KHÔNG LẼ MÌNH IF 100 LẦN ,

CÓ HÀM NÀO THAY THẾ ĐƯƠC KHÔNG, MONG CÁC ANH EM GIÚP GIÙM MÌNH.

CẢM ƠN NHIỀU

mượn dòng số 2 để tách điều kiên ra
 

File đính kèm

Lần chỉnh sửa cuối:
cÁM ƠN CÁC BẠN NHIỀU LẮM, ĐỂ MÌNH LÀM THỬ NHA, NÓI CHUNG LÀ CÁM ƠN
 
cÁM ƠN CÁC BẠN NHIỀU LẮM, ĐỂ MÌNH LÀM THỬ NHA, NÓI CHUNG LÀ CÁM ƠN

Nhằm để cho gọn và trong công thức nó cũng giới hạn ký tự nhập vào trong 1 cell, thì bạn nên tạo một Name để công thức gọn gàng và dễ hiểu hơn.

Với Name tôi đặt là Vung

Vung:
Mã:
={0,51,101,251,501,1001,1501,2001,2501,3001,3501,4001,4501,5001,5501,6001}

Và giờ đây công thức chỉ còn lại như thế này:

Mã:
=VLOOKUP(A9,$A$2:$P$6,MATCH(B9,Vung)+1,0)
 

File đính kèm

Lần chỉnh sửa cuối:
Tác giả nói có thể cả trăm cột, hổng lẽ phải liệt kê hết trong hàm lookup, dễ nhất là thêm 1 cột phụ, liệt kê các điều kiện vào đây rồi Vlookup() cho linh động, muốn thêm bi nhiêu cột thì liệt kê thêm vào cột phụ này.
 

File đính kèm

Nếu không muốn dùng cột phụ như bác Ba Tê và muốn áp dụng cho nhiều cột thì dùng công thức này:
Mã:
=IFERROR(LOOKUP(C9,1+RIGHT(SUBSTITUTE($C$1:$Q$1,"=",REPT(" ",100)),100),OFFSET($D$1:$R$1,B9,)),VLOOKUP(B9,$B$1:$C$6,2,0))
Lưu ý: Trong ví dụ này của bạn, vùng điều kiện từ $C$1:$Q$1 thì vùng OFFSET trong công thức là $D$1:$R$1, tức là tịnh tiến sang phải 1 ô. Nếu dự liệu thật của bạn thay đổi thì nhớ tuân theo quy luật này.
 
Một cách cho bạn tham khảo với 107 cột dữ liệu, bạn có thể tuỳ biến với lượng dữ liệu lớn hơn.
Đặt name:
1/ Data
Mã:
=IF(Sheet3!$B$1:$DD$1<>"",IF(FIND("<",Sheet3!$B$1:$DD$1)=1,0,--TRIM(LEFT(Sheet3!$B$1:$DD$1,FIND("<",Sheet3!$B$1:$DD$1)-1))),"")
2/ Công thức tại C9
Mã:
=INDEX($B$2:$DD$6,MATCH(A9,$A$2:$A$6,0),MATCH(B9-0.1,Data,1))
 
Web KT

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

Back
Top Bottom