Hàm Vlookup tìm ngược từ phải sang trái?

Liên hệ QC

vnproc

Thành viên hoạt động
Tham gia
1/2/11
Bài viết
150
Được thích
6
Mình có trường hợp vlookup này (trong file đính kèm) điều kiện ở cột 2 nhưng index ở cột 1. Mình không thể dùng được Vlookup. Mong các bạn góp ý.

Cảm ơn.
 

File đính kèm

  • vlookup.xlsx
    9.7 KB · Đọc: 2,131
Cái này bạn dùng LOOKUP
Mã:
=LOOKUP(2,1/(B2:B9=D1),A2:A9)
 
Lần chỉnh sửa cuối:
Mình có trường hợp vlookup này (trong file đính kèm) điều kiện ở cột 2 nhưng index ở cột 1. Mình không thể dùng được Vlookup. Mong các bạn góp ý.

Cảm ơn.

Trường hợp của bạn dùng thế này là gọn nhất:
Mã:
=LOOKUP(2,1/($D$1=$B$2:$B$9),$A$2:$A$9)
Không thể dùng VLOOKUP để tìm ngược được đâu nhé
----------------
Cái này bạn dùng LOOKUP
Mã:
=LOOKUP(D1,B2:B9,A2:A9)
Chắc ăn chưa đấy?
 
Cấu trúc của hàm VLOOKUP


Chức năng: Hàm VLOOKUP là hàm dò tìm theo cột, sẽ trả về giá trị của một ô nằm trên một cột nào đó nếu thỏa mãn điều kiện dò tìm.

Cú pháp hàm: VLOOKUP(lookup_value,table_array,col_index_num,opt ion_lookup)

- Lookup_value: là giá trị dùng để dò tìm, giá trị này sẽ được dò tìm trong cột đầu tiên của bảng dữ liệu dò tìm. Giá trị dò tìm có thể là một số, một chuỗi, một công thức trả về giá trị hay một tham chiếu đến một ô nào đó dùng làm giá trị dò tìm.

- Table_array: là bảng dùng để dò tìm, bảng dò tìm có thể là tham chiếu đến một vùng nào đó hay Name trả về vùng dò tìm. Bảng dò tìm gồm có Rj hàng và Ci cột (I,j >=1), trong đó cột thứ nhất của bảng dò tìm sẽ được dùng để dò tìm.

- Col_index_num: là số thứ tự của cột (tính từ trái qua phải) trong bảng dò tìm chứa giá trị mà ta muốn trả về. Col_index_num phải >=1 và <= số cột lớn nhất có trong bảng dò tìm, ngược lại hàm sẽ trả về #VALUE! hoặc #REF.

- Option_lookup: là tùy chọn xác định kiểu dò tìm, có 2 kiểu dò tìm:


True hoặc 1 hoặc để trống: là kiểu dò tìm tương đối, hàm sẽ lấy giá trị đầu tiên mà nó tìm được trên cột đầu tiên trong bảng dò tìm. Trong trường hợp tìm không thấy, nó sẽ lấy giá trị lớn nhất mà có giá trị nhỏ hơn giá trị dò tìm.
False hoặc 0: là kiểu dò tìm chính xác, hàm sẽ lấy giá trị đầu tiên mà nó tìm được trên cột đầu tiên trong bảng dò tìm. Trong trường hợp tìm không thấy, hàm sẽ trả về #N/A.

bạn thử test file và đọc chỗ màu đỏ
 

File đính kèm

  • NHAT CHI MAI 8.xlsx
    12.5 KB · Đọc: 812
Chưa ai dùng hàm này, thôi em dùng cho độc. 1 mình 1 kiểu. :D

ndu, leonguyenz: Em chưa rõ lắm về cái lookup, bữa nào rảnh anh và chú chỉ giúp em với. Em cảm ơn nhiều lắm.
 

File đính kèm

  • Copy of vlookup.xlsx
    9.3 KB · Đọc: 516
Lần chỉnh sửa cuối:
Mình cảm ơn các bạn rất nhiều.
 
Trường hợp của bạn dùng thế này là gọn nhất:
Mã:
=LOOKUP([COLOR=#ff0000]2[/COLOR],1/($D$1=$B$2:$B$9),$A$2:$A$9)
Không thể dùng VLOOKUP để tìm ngược được đâu nhé
----------------

Chắc ăn chưa đấy?
anh ơi cho em hỏi :?
Tại sao không không viết là
Mã:
=LOOKUP([COLOR=#FF0000]1[/COLOR],1/($D$1=$B$2:$B$9),$A$2:$A$9)
,
 
anh ơi cho em hỏi :?
Tại sao không không viết là
Mã:
=LOOKUP([COLOR=#FF0000]1[/COLOR],1/($D$1=$B$2:$B$9),$A$2:$A$9)
,

Nhất định không thể là số 1 được
Con số màu đỏ ấy = bao nhiêu tùy ý nhưng BẮT BUỘC phải >1 (cho chắc ăn)
Bạn bôi đen đoạn 1/($D$1=$B$2:$B$9) trên thanh Formula rồi bấm F9 sẽ thấy chỉ có 2 loại kết quả: Hoặc là lỗi DIV/0, hoặc là số 1 ----> Vậy giá trị cần tìm phải >1 để giá trị trả về là số 1 cuối cùng tìm thấy
 
Lần chỉnh sửa cuối:
Mình có trường hợp vlookup này (trong file đính kèm) điều kiện ở cột 2 nhưng index ở cột 1. Mình không thể dùng được Vlookup. Mong các bạn góp ý.

Cảm ơn.

Không dùng được Vlookup thì dùng hàm khác vậy
Tại E1 trong File của bạn nhập hàm: =INDEX($A$2:$B$9;MATCH(D1;$B$2:$B$9;0);1)
Đường mòn không đi được ta mở đường mới thôi
 
Nhất định không thể là số 1 được
Con số màu đỏ ấy = bao nhiêu tùy ý nhưng BẮT BUỘC phải >1
Bạn bôi đen đoạn 1/($D$1=$B$2:$B$9) trên thanh Formula rồi bấm F9 sẽ thấy chỉ có 2 loại kết quả: Hoặc là lỗi DIV/0, hoặc là số 1 ----> Vậy giá trị cần tìm phải >1 để giá trị trả về là số 1 cuối cùng tìm thấy

Hix từ trước đến nay em vẫn hiểu hàm Lkup như sau :

  • Lookup_vector phải được sắp xếp theo thứ tự tăng dần như: -2,-1,0,1,2; A,B,C..Z; FALSE, TRUE. Nếu không, kết quả trả về nhiều khi không chính xác.
  • Nếu như không tìm thấy Lookup_value trong vùng dò tìm, hàm sẽ lấy giá trị lớn nhất có trong vùng dò tìm (Lookup_vector) mà có giá trị nhỏ hơn hoặc bằng giá trị dò tìm Lookup_vector.


    Tức là nếu viết 1 --> thi hàm luôn tìm đúng vị trí số 1 trong mảng 1/($D$1=$B$2:$B$9). Kể cả trường hợp {DIV/0,DIV/0,1,1,1,DIV/0) --> nếu ta viết là 1 hoặc số >1 thì hàm luôn tìm về giá trị số 1 ở cuối cùng

    ===> để em test lại file một lần nữa xem đúng không!
    !$@!!
  • Ah em hiểu rồi anh viết >1 để cho chắc ăn ( xem cách anh viết code em thấy tính anh cẩn thận và chắc chắn mà ! :-=)
 
Lần chỉnh sửa cuối:
Hix từ trước đến nay em vẫn hiểu hàm Lkup như sau :

  • Lookup_vector phải được sắp xếp theo thứ tự tăng dần như: -2,-1,0,1,2; A,B,C..Z; FALSE, TRUE. Nếu không, kết quả trả về nhiều khi không chính xác.
  • Nếu như không tìm thấy Lookup_value trong vùng dò tìm, hàm sẽ lấy giá trị lớn nhất có trong vùng dò tìm (Lookup_vector) mà có giá trị nhỏ hơn hoặc bằng giá trị dò tìm Lookup_vector.


    Tức là nếu viết 1 --> thi hàm luôn tìm đúng vị trí số 1 trong mảng 1/($D$1=$B$2:$B$9). Kể cả trường hợp {DIV/0,DIV/0,1,1,1,DIV/0) --> nếu ta viết là 1 hoặc số >1 thì hàm luôn tìm về giá trị số 1 ở cuối cùng

    ===> để em test lại file một lần nữa xem đúng không!
    !$@!!
  • Ah em hiểu rồi anh viết >1 để cho chắc ăn ( xem cách anh viết code em thấy tính anh cẩn thận và chắc chắn mà ! :-=)

Lâu quá rồi không nhớ ở bài nào, tôi đã bị con số 1 này hành hạ ---> Cuối cùng, viết số 2 cho chắc
 
Vui lòng làm giúp em file đính kèm

Vui lòng làm giúp em file đính kèm -
EM cám ơn các Anh Chị
 

File đính kèm

  • File mau.rar
    363.8 KB · Đọc: 80
Lần chỉnh sửa cuối:
E7=INDEX(Dmuc!$C$2:$C$50000,MATCH(--$F7,Dmuc!$F$2:$F$5000,0))

Nếu không được thì thay dấu , thành ; trong công thức.
 

File đính kèm

  • File mau.rar
    375.3 KB · Đọc: 126
Lần chỉnh sửa cuối:
Hàm LOOKUP sao không dùng:
Mã:
=LOOKUP(2,1/(TEXT(Dmuc!$F$2:$F$5000,"@")=F7),Dmuc!$C$2:$C$5000)

--------Thầy vui lòng giai thich giúp em chổ : "@" nghĩa là gì ??

-------- Và khắc phục lỗi #N/A khi cột F là cột 'trống' thì cột E cũng 'trống'
 
Lần chỉnh sửa cuối:
--------Thầy vui lòng giai thich giúp em chổ : "@" nghĩa là gì ??

-------- Và khắc phục lỗi #N/A khi cột F là cột 'trống' thì cột E cũng 'trống'

Hàm Text có cú pháp =TEXT(Value, Format_Text)
Đối số Format_Text nếu = "@" có nghĩa là bạn muốn chuyển Value thành Text toàn bộ
Lỗi #N/A xuất hiện khi không tìm thấy, tức trong mảng trả về từ phép so sánh TEXT(Dmuc!$F$2:$F$5000,"@")=F7 không có phần tử nào =TRUE
Vậy, dựa vào chổ này ta đặt điều kiện là được rồi:
Mã:
=IF(COUNT(1/(TEXT(Dmuc!$F$2:$F$5000,"@")=F7)),LOOKUP(2,1/(TEXT(Dmuc!$F$2:$F$5000,"@")=F7),Dmuc!$C$2:$C$5000),"")
Công thức này phải kết thúc bằng Ctrl + Shift + Enter
Hoặc công thức này:
Mã:
=IF(SUMPRODUCT(1*(TEXT(Dmuc!$F$2:$F$5000,"@")=F7)),LOOKUP(2,1/(TEXT(Dmuc!$F$2:$F$5000,"@")=F7),Dmuc!$C$2:$C$5000),"")
Công thức cuối cùng chỉ cần Enter bình thường
Nói chung là: Hàng đống cách
 
Web KT
Back
Top Bottom