Thế nàyPHP:=LOOKUP(2,1/(B2:B17=E4),A2:A17)
Em vẫn biết tìm thế là chuẩn nhất, nhưng em muốn tìm hiểu viết như em tại sao kết quả bị sai.
-------------------
(Mặc dù trong cột đó là tìm theo phương pháp đúng mà).
Thế nàyPHP:=LOOKUP(2,1/(B2:B17=E4),A2:A17)
Thưa thày trong file đính kèm, tại sao kết quả của em không ra là 5 (dòng em bôi đỏ là dòng mong muốn ra kết quả), mà nó lại ra là 10 ah. Kính nhờ thày giảng dạy cho
=LOOKUP(2,1/(B2:B17=E4),A2:A17)
Em vẫn biết tìm thế là chuẩn nhất, nhưng em muốn tìm hiểu viết như em tại sao kết quả bị sai.
-------------------
(Mặc dù trong cột đó là tìm theo phương pháp đúng mà).
Em biết Lookup khi tìm dưới dạng điều kiện nó sẽ lấy giá trị dòng cuối cùng trong trường hợp tìm thấy nhiều giá trị giống nhau, nhưng em muốn nó lấy dòng trên cùng (tức dòng bôi đỏ) thì hàm này có dạng cú pháp nào để làm được không ah?
------
(không dùng hàm Index + Match, vì em đang cần tìm hiểu các dạng viết của Lookup).
1/(A2:A9=C1)
Như vậy, em hiểu, nếu dữ liệu dò tìm từ trái sang phải thì trong trường hợp này, Lookup không thay được Vlookup.
=lookup(c1,a2:a9,b2:b9)
Thì bản chất hoàn toàn khác=lookup(2,(a2:a9)=c1,b2:b9)
Bạn hiểu như vậy là không chính xác. Nếu tìm với điều kiện như Vlookup thì bạn chỉ cần công thức
PHP:=lookup(c1,a2:a9,b2:b9)
Sorry bác, em nhầm. Trong ví dụ đính kèm em so sánh cách cách dùng, em thắc mắc tại dòng công thức số 3, em dùng Lookup nó vẫn ra là 5 nhỉ
Bạn không chịu đọc kỹ những gì người ta viết gì cả
Cách thứ 3 (LOOKUP(C1, A2:A9, B2:B9)...) chỉ có thể áp dụng khi bảng dò đã sort trước
Bạn nhìn đi, cột A dữ liệu có sort tăng dần đâu mà dùng cách đó ---> Nó cho kết quả trật lất là phải rồi
Bổ sung:
Qua khỏi 220 thứ nhì, nó đã thấy 600 (là số đầu tiên > 220), nó cho rằng theo quy luật tăng dần thì hết rồi, nên nó quay lại.
TB:
Hôm nay thấy ndu cũng bắt đầu mắng kìa!
Xin lỗi các thày, lần sau em sẽ nghiên cứu kỹ hơn, lỗi do em nghĩ mãi khi đến 220 đầu tiên sao nó không chiu dừng mà lại đi tiếp.
Tôi có cách này khiến bạn nhớ lâu nè...
Chắc bạn thừa biết rằng VLOOKUP(trị dò, bảng dò, cột dò, kiểu dò) ---> Với kiểu dò = 0 là dò chính xác, và = 1 là dò không chính xác, đúng không? Đương nhiên với kiều dò =1, bắt buộc dữ liệu phải được sort trước
Vậy thì:
LOOKUP(trị dò, bảng dò, bảng kết quả) sẽ tương đương với VLOOKUP mà kiểu dò =1 ---> như vậy cũng như VLOOKUP, bắt buộc dữ liệu phải sort trước
LOOKUP(2, 1/(....), ) sẽ tương đương với VLOOKUP mà kiểu dò =0 ---> Cũng như VLOOKUP, dữ liệu không cần sort
Vậy thôi
Bạn quên mấy bài đầu topic này rồi. Lookup dò tìm thông thường đòi hỏi dữ liệu cột dò tìm phải được sort ascending. Sau khi sort ascending, nó sẽ cho số đúng nếu tìm thấy hoặc số gần đúng nếu không tìm thấy.
Công thức của bạn tìm 360 trong 1 cột bắt đầu là 200, kế là 300, kế là 20, kế là 432. Nó dò từ trên xuống thấy số đầu tiên lớn hơn 360 là 432, nó sẽ lùi lại lấy số bên trên 432 là 20. Chiếu sang cột A là 10.
Bạn test bằng cách thay số 20 thành 370, số đầu tiên >360 là 370, lui lại sẽ lấy số trên nó là 300, chiếu sang cột A, kết quả là 2.
Bổ sung:
Qua khỏi 220 thứ nhì, nó đã thấy 600 (là số đầu tiên > 220), nó cho rằng theo quy luật tăng dần thì hết rồi, nên nó quay lại.
Vậy thì xem lại bài 33Hôm nọ, em có đọc Topic này về sử dụng Lookup, tuy nhiên em thử cho 2 ví dụ theo hình đính kèm, em vẫn thắc mắc kết quả của ví dụ 2 (xin được các thày mắng để lần sau em khỏi băn khoăn về nó nữa)
Vậy thì:
LOOKUP(trị dò, bảng dò, bảng kết quả) sẽ tương đương với VLOOKUP mà kiểu dò =1 ---> như vậy cũng như VLOOKUP, bắt buộc dữ liệu phải sort trước
LOOKUP(2, 1/(....), ) sẽ tương đương với VLOOKUP mà kiểu dò =0 ---> Cũng như VLOOKUP, dữ liệu không cần sort
Vậy thôi
Bổ sung:
Qua khỏi 220 thứ nhì, nó đã thấy 600 (là số đầu tiên > 220), nó cho rằng theo quy luật tăng dần thì hết rồi, nên nó quay lại.