Giúp đỡ hàm dò tìm theo điều kiện (7 người xem)

Liên hệ QC

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

VuVanHao

Thành viên thường trực
Tham gia
20/6/18
Bài viết
246
Được thích
118
Em muốn tùy theo thời gian Ngày sản xuất để chọn sheet dò tìm thông tin xuất xứ.
Yêu cầu:
Ngày sản xuất <21/03/2018 thì chỉ dò ở sheet Lo1
Ngày sản xuất <8/8/2018 thì ưu tiên dò tìm ở sheet Lo2, nếu không có thì dò ở sheet Lo1
Ngày sản xuất >=8/8/2018 thì ưu tiên dò sheet Lo3, nếu không có thì dò sheet Lo2, nếu không có nữa mới chuyển về Lo1
Em cám ơn ạ!
 

File đính kèm

Em muốn tùy theo thời gian Ngày sản xuất để chọn sheet dò tìm thông tin xuất xứ.
Yêu cầu:
Ngày sản xuất <21/03/2018 thì chỉ dò ở sheet Lo1
Ngày sản xuất <8/8/2018 thì ưu tiên dò tìm ở sheet Lo2, nếu không có thì dò ở sheet Lo1
Ngày sản xuất >=8/8/2018 thì ưu tiên dò sheet Lo3, nếu không có thì dò sheet Lo2, nếu không có nữa mới chuyển về Lo1
Em cám ơn ạ!

Làm cột phụ E để tính Lo rồi dò tìm:
E2=IF(C2<DATE(2018,3,21),"Lo1",IF(C2<DATE(2018,8,8),"Lo2","Lo3"))
D2=VLOOKUP($B2,INDIRECT("'"&E$2&"'!$C$2:$E$1370"),3,0)
 

File đính kèm

Làm cột phụ E để tính Lo rồi dò tìm:
E2=IF(C2<DATE(2018,3,21),"Lo1",IF(C2<DATE(2018,8,8),"Lo2","Lo3"))
D2=VLOOKUP($B2,INDIRECT("'"&E$2&"'!$C$2:$E$1370"),3,0)
Có lỗi bác ạ
Ví dụ như Thổ bối mẫu ngày sản xuất là 09/09/2018 thì Lo3 không có nó phải chuyển về Lo2, ở đây nó báo lỗi rùi :((
 

File đính kèm

Dạ, ý em là nếu Lo3 không có, thì nó sẽ ưu tiên tìm về Lo2, mà nếu Lo2 không có nữa, nó sẽ lấy ở Lo1. Mà tất cả không có vị đó, thì nó trả về rỗng ạ

Nếu không có ở Lo3 về Lo2 hoặc Lo1 thì mình làm được, còn yêu cầu này chắc chờ các thành viên khác. hihi
 
Bạn thử công thức này thử xem ok không, hơi dài:

D2=IFERROR(VLOOKUP($B2,INDIRECT("'"&E$2&"'!$C$2:$E$1370"),3,0),IFERROR(VLOOKUP($B2,INDIRECT("'"&"Lo2"&"'!$C$2:$E$1370"),3,0),VLOOKUP($B2,INDIRECT("'"&"Lo1"&"'!$C$2:$E$1370"),3,0)))
Thêm INDERECT cho nó rối thêm bạn, nếu nó không tự động nhảy sheet thì quét vùng tham chiếu cho nó lẹ :)
 
Bạn thử công thức này thử xem ok không, hơi dài:

D2=IFERROR(VLOOKUP($B2,INDIRECT("'"&E$2&"'!$C$2:$E$1370"),3,0),IFERROR(VLOOKUP($B2,INDIRECT("'"&"Lo2"&"'!$C$2:$E$1370"),3,0),VLOOKUP($B2,INDIRECT("'"&"Lo1"&"'!$C$2:$E$1370"),3,0)))
Em bỏ cái $ chỗ này INDIRECT("'"&E$2 thì nó mới chạy đúng anh ạ
 
Thử, nhấn Ctrl+Shift+Enter:
Mã:
=IFERROR(VLOOKUP(B2,INDIRECT("Lo"&AGGREGATE(14,6,ROW($1:$3)/(ROW($1:$3)/COUNTIF(INDIRECT({"Lo1";"Lo2";"Lo3"}&"!C2:C150"),B2)<=MATCH(C2,{1;43180;43320},1)),1)&"!C2:E150"),3,0),"")
 
Lần chỉnh sửa cuối:
Thêm INDERECT cho nó rối thêm bạn, nếu nó không tự động nhảy sheet thì quét vùng tham chiếu cho nó lẹ :)

Em chưa tới trình độ đó đâu anh, gán ghép xài tạm thôi chứ cũng không rành lắm. Anh hướng dẫn giúp em công thức ngắn gọn hơn đi.
 
Lần chỉnh sửa cuối:
Dạ, ý em là nếu Lo3 không có, thì nó sẽ ưu tiên tìm về Lo2, mà nếu Lo2 không có nữa, nó sẽ lấy ở Lo1. Mà tất cả không có vị đó, thì nó trả về rỗng ạ
Phải thêm 1 vùng điều kiện mới viết được.
Đúng ra phải dùng Mã để tìm, đàng này lại dùng Tên dược liệu có dấu tiếng Việt. Sau này sẽ "chết" mà không biết vì sao.
 

File đính kèm

Phải thêm 1 vùng điều kiện mới viết được.
Đúng ra phải dùng Mã để tìm, đàng này lại dùng Tên dược liệu có dấu tiếng Việt. Sau này sẽ "chết" mà không biết vì sao.
Dạ, em cảm ơn ạ.
Em cũng biết là nhiều lúc chỉ có 1 cái dấu cách là đã chết rồi nhưng mã Lo1 là mã cũ, mã Lo2 và 3 thì lại 1 người khác đặt lại nên em cũng k biết theo ai =))
 
Web KT

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

Back
Top Bottom