Hỏi về vlookup đa năng hoặc hàm tương tự (1 người xem)

Người dùng đang xem chủ đề này

tueyennhi

Thành viên tích cực
Tham gia
18/10/10
Bài viết
1,192
Được thích
105
Chào anh chị!

Như file đính kèm em có cột giá trị ID và nội dung tương ứng. Sheet Data Cột ID có những ID sẽ lặp đi lặp lại.
Trong file tổng hợp ID của em chỉ có một giá trị duy nhất ví dụ 10001. Em muốn lấy giá trị nội dung theo kiểu đặt điều kiện nếu trong vùng Data ID 10001 có giá trị là a thì ưu tiên lấy giá trị a, còn nếu không có thì xét lấy giá trị khác mà mình muốn (ví dụ d).

Cảm ơn mọi người đã đọc bài!
 

File đính kèm

Chào anh chị!

Như file đính kèm em có cột giá trị ID và nội dung tương ứng. Sheet Data Cột ID có những ID sẽ lặp đi lặp lại.
Trong file tổng hợp ID của em chỉ có một giá trị duy nhất ví dụ 10001. Em muốn lấy giá trị nội dung theo kiểu đặt điều kiện nếu trong vùng Data ID 10001 có giá trị là a thì ưu tiên lấy giá trị a, còn nếu không có thì xét lấy giá trị khác mà mình muốn (ví dụ d).

Cảm ơn mọi người đã đọc bài!
Chào tuyennhi,

Làm thêm cột phụ C: "Phương án chọn": với C3=1 (P/án số thứ 1) hoặc 2 (P/án số thứ 2); C4=1; C5=1 (Bạn có thể tùy nghi)

Công thức file "Tổng hợp": dùng INDEX() thay cho VLOOKUP()
Mã:
B3=IFERROR(INDEX(Data!$B$1:$B$1000,SMALL(IF(('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)=0,"",('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)),'Tổng hợp'!$C3)),"")

Ctrl+Shift+Enter rồi fill xuống

Chúc bạn ngày vui
 
Chào tuyennhi,

Làm thêm cột phụ C: "Phương án chọn": với C3=1 (P/án số thứ 1) hoặc 2 (P/án số thứ 2); C4=1; C5=1 (Bạn có thể tùy nghi)

Công thức file "Tổng hợp": dùng INDEX() thay cho VLOOKUP()
Mã:
B3=IFERROR(INDEX(Data!$B$1:$B$1000,SMALL(IF(('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)=0,"",('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)),'Tổng hợp'!$C3)),"")

Ctrl+Shift+Enter rồi fill xuống

Chúc bạn ngày vui

Cột C phương án chọn em không hiểu cho lắm, anh có thể nói rõ hơn được không?
 
Chào tuyennhi,

Làm thêm cột phụ C: "Phương án chọn": với C3=1 (P/án số thứ 1) hoặc 2 (P/án số thứ 2); C4=1; C5=1 (Bạn có thể tùy nghi)

Công thức file "Tổng hợp": dùng INDEX() thay cho VLOOKUP()
Mã:
B3=IFERROR(INDEX(Data!$B$1:$B$1000,SMALL(IF(('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)=0,"",('Tổng hợp'!$A3=Data!$A$1:$A$1000)*ROW($1:$1000)),'Tổng hợp'!$C3)),"")

Ctrl+Shift+Enter rồi fill xuống

Chúc bạn ngày vui
Chào tuyennhi,

Gửi bạn file kèm.

Chúc bạn ngày vui
 

File đính kèm

Chào tuyennhi,

Gửi bạn file kèm.

Chúc bạn ngày vui
Cách anh dùng cột phụ khá hay, em chỉnh CT của anh lại cho gọn tý!!!
Mã:
=INDEX(Data!$B$3:$B$7,SMALL(IFERROR(IF(Data!$A$3:$A$7=A3,ROW($1:$100)),""),C3))
Ctrl+Shift+Enter rồi fill xuống!!!
P/s: Anh dùng IF thay cho dấu * thì sẽ không=0, đang rảnh, phá chơi, hehe!!!
 
Lần chỉnh sửa cuối:
Cách anh dùng cột phụ khá hay, em chỉnh CT của anh lại cho gọn tý!!!
Mã:
=INDEX(Data!$B$3:$B$7,SMALL(IFERROR(IF(Data!$A$3:$A$7=A3,ROW($1:$100)),""),C3))
Ctrl+Shift+Enter rồi fill xuống!!!
P/s: Đang rảnh, phá chơi, hehe!!!

Cảm ơn em không hết, phá anh càng nhiều càng tốt em trai.

Cảm ơn em.%#^#$%#^#$%#^#$
 
Cách anh dùng cột phụ khá hay, em chỉnh CT của anh lại cho gọn tý!!!
Mã:
=INDEX(Data!$B$3:$B$7,SMALL(IFERROR(IF(Data!$A$3:$A$7=A3,ROW($1:$100)),""),C3))
Ctrl+Shift+Enter rồi fill xuống!!!
P/s: Anh dùng IF thay cho dấu * thì sẽ không=0, đang rảnh, phá chơi, hehe!!!
Em trai ơi!

Hình như IF() không có "tội", mà SMALL() với giá trị ô Cx vượt ngưỡng (Vd: C3=5) mới có "tội", nên công thức IFERROR() nó vẫn phải bao thầu bên ngoài, phải không em trai!!!
Mã:
B3=IFERROR(INDEX(Data!$B$1:$B$100,SMALL(IF(($A3=Data!$A$1:$A$100),ROW($1:$100)),$C3)),"")
Ctrl+Shift+Enter rồi fill xuống.

Cảm ơn em lần nữa.
 
Hình như cái này to nhỏ dựa vào thứ tự a b c đúng không anh? Như vậy lại phải thêm cột phụ để phân loại a b c ?? Anh xem lại file nhé, kết quả không như em muốn
 

File đính kèm

Lần chỉnh sửa cuối:
Hình như cái này to nhỏ dựa vào thứ tự a b c đúng không anh? Như vậy lại phải thêm cột phụ để phân loại a b c ??
Chào tueyennhi,

Nó không phụ thuộc vào thứ tự a,b,c mà nó lấy giá trị lần xuất hiện ở dòng trên làm ưu tiên,

Ví dụ: mã 10001 có ba giá trị lần lượt:
1. Dòng số 3: có giá trị "a"
2. Dòng số 5: có giá trị "c"
3. Dòng số 7: có giá trị "e"

Cho nên, khi bạn gõ vào C3=1 (hoặc 2,3) thì nó ngụ ý: bạn muốn lấy giá trị ở lần xuất hiện thứ mấy từ dòng trên xuống, 1 thì lấy "a", 2 thì lấy "c"....

Bạn có thể thay đổi giá trị sheet Data, cột nội dung, tùy hỹ bất kỳ ký tự gì như "abcdef, dfdfdk, dfdjkkl, 12345, 65000, vân vân.. và mây mây (cái này của vanle33 nè, khà khà!!!)

Chúc bạn ngày vui
 
À như vậy thì không được linh động cho lắm. em muốn hàm ví dụ như nếu trong 3 giá trị ấy có giá trị là nghỉ sinh thì ưu tiên lấy nghỉ sinh, nếu như không có nghỉ sinh mà có nghỉ dài thì ưu tiên lấy nghỉ dài...
 
À như vậy thì không được linh động cho lắm. em muốn hàm ví dụ như nếu trong 3 giá trị ấy có giá trị là nghỉ sinh thì ưu tiên lấy nghỉ sinh, nếu như không có nghỉ sinh mà có nghỉ dài thì ưu tiên lấy nghỉ dài...
Chào tueyennhi,

Chà! cái vụ này bạn nói mình không biết: "nghỉ sinh", "nghỉ dài" là gì bạn cho ví dụ vào file rồi gửi lại xem như thế nào đã, rồi mới trả lời bạn nỗi... thông cảm nha!!

Chúc bạn ngày vui
 
Chào tueyennhi,

Chà! cái vụ này bạn nói mình không biết: "nghỉ sinh", "nghỉ dài" là gì bạn cho ví dụ vào file rồi gửi lại xem như thế nào đã, rồi mới trả lời bạn nỗi... thông cảm nha!!

Chúc bạn ngày vui

Anh xem nhé, sheet tổng hợp em cho thêm 3 cột, tùy là cột nào mà giá trị nó lấy đúng vào cột ấy, ví dụ ID đầu nếu trong data có nghỉ dài thì ở tổng hợp cột nghỉ dài sẽ có nội dung là Nghỉ dài. Nếu ID ấy vừa đang nghỉ dài vừa mang bầu thì ở cột mang bầu sẽ hiện là mang bầu. Hình như áp dụng được với index match nhưng hai cái này em chưa biết vận dụng.
 

File đính kèm

Lần chỉnh sửa cuối:
Anh xem nhé, sheet tổng hợp em cho thêm 3 cột, tùy là cột nào mà giá trị nó lấy đúng vào cột ấy, ví dụ ID đầu nếu trong data có nghỉ dài thì ở tổng hợp cột nghỉ dài sẽ có nội dung là Nghỉ dài. Nếu ID ấy vừa đang nghỉ dài vừa mang bầu thì ở cột mang bầu sẽ hiện là mang bầu.
Vậy thứ tự ưu tiên, có phải như vầy không:
1. Mang bầu.
2. Nghỉ dài
3. Nghỉ sinh

Hay thứ tự khác vậy!!

Bạn muốn hiện các nội dung trên cùng 1 cột bên sheet "Tổng hợp", hay chỉ muốn đánh dấu vào các cột tương ứng: "Nghỉ sinh", "Nghỉ dài", "Mang thai" như bạn gửi file sau cùng??

Chúc bạn ngày vui
 
Em trai ơi!

Hình như IF() không có "tội", mà SMALL() với giá trị ô Cx vượt ngưỡng (Vd: C3=5) mới có "tội", nên công thức IFERROR() nó vẫn phải bao thầu bên ngoài, phải không em trai!!!
Mã:
B3=IFERROR(INDEX(Data!$B$1:$B$100,SMALL(IF(($A3=Data!$A$1:$A$100),ROW($1:$100)),$C3)),"")
Ctrl+Shift+Enter rồi fill xuống.

Cảm ơn em lần nữa.
Nếu anh anh dùng * , tức là SMALL(($A3=Data!$A$1:$A$100)*ROW($1:$100)),$C3))=0 thì CT sẽ không đúng, còn dùng IF ,SMALL(IF(($A3=Data!$A$1:$A$100),ROW($1:$100)),$C3))=1, vì dùng IF thì số 0 sẽ được thay thế bằng False, False lớn hơn số, nếu dùng Large hay Max thì dùng dấu * hay if đều được, nhưng Min hay Small thi nên dùng IF!!!!/-*+//-*+//-*+/
 
Em muốn hiện nội dung anh ạ. Không cần quan tâm thứ tự anh ạ, chỉ cần bên kia nó có giá trị gì thì cột tổng hợp được điền giá trị tương ứng.
 
Anh xem nhé, sheet tổng hợp em cho thêm 3 cột, tùy là cột nào mà giá trị nó lấy đúng vào cột ấy, ví dụ ID đầu nếu trong data có nghỉ dài thì ở tổng hợp cột nghỉ dài sẽ có nội dung là Nghỉ dài. Nếu ID ấy vừa đang nghỉ dài vừa mang bầu thì ở cột mang bầu sẽ hiện là mang bầu. Hình như áp dụng được với index match nhưng hai cái này em chưa biết vận dụng.
Bạn thử CT này xem:
Mã:
B3=IFERROR(LOOKUP(2,1/(Data!$A$3:$A$8='Tổng hợp'!$A3)/(Data!$B$3:$B$8='Tổng hợp'!B$2),Data!$B$3:$B$8),"")
Fill xuống, rồi fill sang phải!!!
 
Em muốn hiện nội dung anh ạ. Không cần quan tâm thứ tự anh ạ, chỉ cần bên kia nó có giá trị gì thì cột tổng hợp được điền giá trị tương ứng.
Mang bầu với mang thai khác gì nhau vậy bạn? Dữ liệu không thống nhất, hỏi không rõ ràng sẽ tội cho những người giúp và cho cả bạn?
 
Em muốn hiện nội dung anh ạ. Không cần quan tâm thứ tự anh ạ, chỉ cần bên kia nó có giá trị gì thì cột tổng hợp được điền giá trị tương ứng.
Chào tueyennhi,

Thôi thì! đưa bạn cả hai phương án bạn chọn cho phù hợp ý nha.

Chúc bạn ngày vui.
p/s: Có việc tế nhị hỏi nhỏ vì hơi khó hiểu: sao lại phân ra 2 nội dung "Mang thai" và "Mang bầu" !!! /-*+//-*+//-*+/
 

File đính kèm

Mang bầu với mang thai khác gì nhau vậy bạn? Dữ liệu không thống nhất, hỏi không rõ ràng sẽ tội cho những người giúp và cho cả bạn?
Tôi nghĩ nó là một --=0

Nhưng tại anh là "giangleloi", ở một mình mà nên "không biết" /-*+//-*+/!!
(đừng giận nha, chọc anh cho vui thôi, không ý gì khác)

Chúc anh ngày thiệt vui
 

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

Back
Top Bottom