Kết quả chỉ đúng khi cột C được sort tăng dầnTheo mình biết thì hàm lookup dạng mảng trả về giá trị cuối cùng của dòng (ô), nhưng như file đính kèm thì hàm này cho kết quả không đúng. Có bạn nào biết lý do không ?
=LOOKUP(2,1/($C$3:$C$9=F3),$D$3:$D$9)
Theo mình biết thì hàm lookup dạng mảng trả về giá trị cuối cùng của dòng (ô), nhưng như file đính kèm thì hàm này cho kết quả không đúng. Có bạn nào biết lý do không ?
Công thức của bạn đúng khi không cần sort dữ liệu nhưng CT này cao siêu quá mình chả hiểu.Thôi thì để ra kết quả đúng thì sort trước vậy.Kết quả chỉ đúng khi cột C được sort tăng dần
Nếu dữ liệu tùy ý (không sort) thì phải dùng LOOKUP theo kiểu khác:
PHP:=LOOKUP(2,1/($C$3:$C$9=F3),$D$3:$D$9)
Kết quả chỉ đúng khi cột C được sort tăng dần
Nếu dữ liệu tùy ý (không sort) thì phải dùng LOOKUP theo kiểu khác:
PHP:=LOOKUP(2,1/($C$3:$C$9=F3),$D$3:$D$9)
Thế sao b và c lại lấy giá trị ở cột cuối cùng ?Không phải là không đúng, nó đã trả kết quả là 1 rồi còn gì?
Phải luôn nhớ rằng, các hàm dò tìm luôn luôn tìm kiếm ở giá trị đầu tiên trong mảng mà thôi. Khi đã tìm thấy giá trị, nó sẽ không dò tiếp mà nhận ngay giá trị mà nó tìm thấy.
Ở file này đúng là dữ liệu không sort trước nhưng giá trị tìm là BỰ NHẤT nên nó sẽ luôn lấy kết quả cuối cùngCông thức của bạn đúng khi không cần sort dữ liệu nhưng CT này cao siêu quá mình chả hiểu.Thôi thì để ra kết quả đúng thì sort trước vậy.
Nhưng mình thấy file bạn làm lookup_vector có cần sort đâu mà vẫn cho kết quả đúng
Dữ liệu chưa được sort thì sẽ... hên xui ---> Hên thì nó đúng ---> Tóm lại: Bạn cứ làm đúng quy định thì khỏi cần thắc mắc (quy định là sort trước)Thế sao b và c lại lấy giá trị ở cột cuối cùng ?
Bôi đên đoạn 1/($C$3:$C$9=F3) trên thanh Formula rồi bấm F9, tự nhiên sẽ hiểuThế sao b và c lại lấy giá trị ở cột cuối cùng ?
Bôi đên đoạn 1/($C$3:$C$9=F3) trên thanh Formula rồi bấm F9, tự nhiên sẽ hiểu
Hàm LOOKUP này hay ở chổ nó bỏ qua mấy phần tử bị lỗi ---> trong mảng này, ngoài phần tử lỗi thì số 1 là số lớn nhất ---> Vậy khi ta tìm số 2 trong mảng này thì nó sẽ tìm số 1 cuối cùng là điều đương nhiên rồi (thay số 2 thành số gì cũng được, miễn >1 )Như vậy nó sẽ tìm trong mảng, nếu giá trị 1 (TRUE) thì sẽ lấy, nhưng tại sao nó lại lấy 1 ở cuối cùng mà không phải lấy ở chỗ khác?
Và tại sao đặt là 2 vậy?
Hàm LOOKUP này hay ở chổ nó bỏ qua mấy phần tử bị lỗi ---> trong mảng này, ngoài phần tử lỗi thì số 1 là số lớn nhất ---> Vậy khi ta tìm số 2 trong mảng này thì nó sẽ tìm số 1 cuối cùng là điều đương nhiên rồi (thay số 2 thành số gì cũng được, miễn >1 )
Giống như tôi ví dụ ở trên công thức LOOKUP("z",$C$3:$D$9) đấy thôi
Cái này có từ lâu trên diễn đàn rồi:
http://www.giaiphapexcel.com/forum/showthread.php?7669-Những-công-thức-độc-đáo
mà hình như Nghĩa chưa xem?