Thắc mắc hàm Vlookup (5 người xem)

Liên hệ QC

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

PT Hiền

Thành viên mới
Tham gia
29/5/20
Bài viết
6
Được thích
0
Em chào các anh/chị,

Anh chị giúp em vấn đề sau với ạ.
Em đang dùng hàm Vlookup để lấy dữ liệu từ sheet B sang sheet A. Nhưng khi đưa sang thì có 1 số trường hợp dữ liệu bên sheet B không giống với sheet A nhưng nó vẫn bắt sang ( Em đã filter những trường hợp bắt sai ) ạ.

Anh/chị có thể cho em biết nguyên nhân sai và có cách nào để khắc phục không ạ?
Em muốn dữ liệu tham chiếu sang phải chính xác ạ.



Em cảm ơn anh/chị.
 

File đính kèm



Chính xác.......
Em cảm ơn rất nhiều ạ :):):)
 
Có thể VLOOKUP sẽ "nhẹ" hơn.
Mã:
=VLOOKUP(SUBSTITUTE(A2,"*","~*"),B!$A$2:$A$5259,1,)
 
Em chào anh/chị

Em có file CTKM sheet Dữ liệu gồm có các cột như trong bảng.
Em đang muốn lấy cột "Giá Km mới" từ sheet dữ liệu đưa sang sheet "Lấy giá" phải thoả mãn điều kiện cùng mã Navi code và ngày bán ở sheet "lấy giá" phải thuộc khoảng thời gian chạy chương trình khuyến mại. Nếu ví dụ có khoảng chạy CKTM trùng nhau như: 05/10-07/10 và 05/10-31/10 thì đoạn từ 05/10-07/10 sẽ chọn giá thấp nhấp còn từ 08/10-31/10 thì trả về giá đúng thuộc khoảng CTKM
Em nhờ các anh/chị giúp em với ạ :((
 

File đính kèm

Lần chỉnh sửa cuối:
E chào anh/chị

E có file CTKM sheet Dữ liệu gồm có các cột như trong bảng.
E đang muốn lấy cột "Giá Km mới" từ sheet dữ liệu đưa sang sheet "Lấy giá" phải thoả mãn điều kiện cùng mã Navi code và ngày bán ở sheet "lấy giá" phải thuộc khoảng thời gian chạy chương trình khuyến mại. Nếu ví dụ có khoảng chạy CKTM trùng nhau như: 05/10-07/10 và 05/10-31/10 thì đoạn từ 05/10-07/10 sẽ chọn giá thấp nhấp còn từ 08/10-31/10 thì trả về giá đúng thuộc khoảng CTKM
E nhờ các cao nhân giúp em với ạ :((
Bài #1 thì "Em" nghiêm chỉnh, đến bài này đổ đốn ở đâu ra toàn "E" vậy nhỉ.
 
Chỉ có mình nên chấp nhận hàng cao khỉ thôi, đau đâu dán đó cho rẻ tiền mà khỉ cũng khó tuyệt chủng. Không thể nào sánh với cao hổ cốt.
So cao nhơn thì càng tệ nữa. Ngẫng mãi muốn cứng cổ mà có thấy nổi cái mặt họ ra sao đâu. Đẹp giai hay xinh gái chỉ họ biết với nhau.
 
te te tí te tò. Ở GPE này mà không biết người biết ta thì đám con gái sồn sồn chúng chửi cho nát mặt. Chúng ỷ đờn bà trên đây là hàng quý, chọc vào là có tay nghĩa hiệp bênh vực.
Anh gì đó ở bài #6 ơi. Hổng biết giờ này anh đã nhận ra mình đang bị người ta móc là "4 năm rồi vận không biết theo thời cuộc" hôn?

GPE nó thay đổi em, chứ em nào có đổi thay!
$$$$@ :D :D :D
GPE chỉ thay đổi bề ngoài, bề trong thì càng bạo dạn hơn. Hổng tin hỏi lão CT xem, ăn thua với lão ta từng chút một. Tôi thì chạy rồi.
 
Các anh/chị xem hộ em với ạ.
Em đang làm mà không tìm ra được giải pháp
 
Các anh/chị xem hộ em với ạ.
Em đang làm mà không tìm ra được giải pháp
Vào bài #5 chỉnh những chỗ "e" thành "em" thì tác giả bài #6 sẽ giúp cho.
Nếu chàng ta vẫn chưa chịu thì sửa "cao nhơn" thành "các bạn", tôi sẽ giúp.

Bài này 4 năm trước đã có giải pháp rồi.
Có lẽ bạn chỉ chép công thức về nhưng chả hiểu gì hết cho nên bây giờ gặp đúng vấn đề in hệt mà không nhận ra.

Sẵn tôi trả lời cho tác giả bài #10 (đáng lẽ GPE nên cho tôi thêm nút chọn lựa pót ra riêng)
Người ta không thay đổi. Bởi biết tính lão CT nên bài hỏi chả thèm xem kỹ - nếu xem kỹ thì đã giải quyết được từ đầu, đâu phải đợi ba bốn bài sau. Và nhờ hỏi đi hỏi lại cho nên tăng số nhanh, và bị GPE tăng lên thiếu tướng. Rất tiếc cho tài năng chỉ dùng cãi nhau, không tập trung vào phát triển nghề (điển hình là sử dụng Excel) cho nên chỉ biết đổ thừa là chính.
 
Vào bài #5 chỉnh những chỗ "e" thành "em" thì tác giả bài #6 sẽ giúp cho.
Nếu chàng ta vẫn chưa chịu thì sửa "cao nhơn" thành "các bạn", tôi sẽ giúp.

Bài này 4 năm trước đã có giải pháp rồi.
Có lẽ bạn chỉ chép công thức về nhưng chả hiểu gì hết cho nên bây giờ gặp đúng vấn đề in hệt mà không nhận ra.

Sẵn tôi trả lời cho tác giả bài #10 (đáng lẽ GPE nên cho tôi thêm nút chọn lựa pót ra riêng)
Người ta không thay đổi. Bởi biết tính lão CT nên bài hỏi chả thèm xem kỹ - nếu xem kỹ thì đã giải quyết được từ đầu, đâu phải đợi ba bốn bài sau. Và nhờ hỏi đi hỏi lại cho nên tăng số nhanh, và bị GPE tăng lên thiếu tướng. Rất tiếc cho tài năng chỉ dùng cãi nhau, không tập trung vào phát triển nghề (điển hình là sử dụng Excel) cho nên chỉ biết đổ thừa là chính.
Em đã sửa "e" thành "em" rồi và cũng sửa cả cao nhơn thành anh/chị ạ :(
Nhưng như bài viết 4 năm trước của em thì em thấy hàm SUBSTITUTE là đang thay thế ký tự nên em đang không hiểu ý anh/chị về việc áp dụng công thức đó cho bài toán mới này của em.
Em có dùng hàm Lookup để lấy được dữ liệu giá thuộc khoảng thời gian, nhưng em đang mắc ở đoạn nếu khoảng thời gian chạy trùng nhau thì sẽ chọn giá thấp nhất trong khoảng thời gian đó ạ
 
Em đã sửa "e" thành "em" rồi và cũng sửa cả cao nhơn thành anh/chị ạ :(
Nhưng như bài viết 4 năm trước của em thì em thấy hàm SUBSTITUTE là đang thay thế ký tự nên em đang không hiểu ý anh/chị về việc áp dụng công thức đó cho bài toán mới này của em.
Dùng công thức bài #4
Giải thích:
Hàm VLookup cho phép tìm kiếm "gần giống". Những ký tự có thể thay đổi khi so sánh được đại diện bằng "*" ở trị cần tìm
ví dụ:
AV.000733 399*733*181219*24 TC_399 có tất cả 3 ký tự đại diện *. 3 ký tự này đối với VLoopup có thể coi như chuỗi gì cũng được. Vì vậy dò sẽ ra sai.
Làm thế nào để VLookup KHÔNG coi * là ký tự đại diện? Trả lời: dùng dấu hiệu phản đại diện. Dấu hiệu phản đại diện báo cho VLookup biết rằng ký tự đi ngay sau nó KHÔNG PHẢI là ký tự đại diện, cứ xem * là một ký tự bình thường. Trong chuoix trên bạn có 3 lần *, vì vậy phải dùng ký tự phản đại diện 3 lần, mỗi lần ngay trước *.
Công thức bài #4 làm đúng công việc ấy. Để ý SUBSTITUTE(A2,"*","~*") thay thế các * trong trị cần tìm của bạn bằng ~*.
Dấu ngã chính là ký tự phản đại diện. Nó bảo VLookup rằng đừng xem * là chuỗi đại diện.
...
Mã:
=VLOOKUP(SUBSTITUTE(A2,"*","~*"),B!$A$2:$A$5259,1,)
Tại A2187 bạn có
AV.000733 399*733*181219*24 TC_399
Vì * được coi là ký tự đại diện cho các ký tự trước 24 cho nên VLookup coi 324 như *24, và nó cho ra
AV.000733 399*733*181219*324 TC_399 (*324 coi như giống *24)
Nếu chỉnh công thức theo bài #4 thì bạn có:
AV.000733 399~*733~*181219~*24 TC_399
VLookup được dặn ~*24 không được xem như *324. Và nó dò chính xác (bài #2 nhắc nhở từ "chính xác" là ý này đấy, chứ không phải chọc ghẹo gì bạn)

Em có dùng hàm Lookup để lấy được dữ liệu giá thuộc khoảng thời gian, nhưng em đang mắc ở đoạn nếu khoảng thời gian chạy trùng nhau thì sẽ chọn giá thấp nhất trong khoảng thời gian đó ạ
Cái này thì tôi không hiểu
 
Em đã sửa "e" thành "em" rồi và cũng sửa cả cao nhơn thành anh/chị ạ :(
Nhưng như bài viết 4 năm trước của em thì em thấy hàm SUBSTITUTE là đang thay thế ký tự nên em đang không hiểu ý anh/chị về việc áp dụng công thức đó cho bài toán mới này của em.
Em có dùng hàm Lookup để lấy được dữ liệu giá thuộc khoảng thời gian, nhưng em đang mắc ở đoạn nếu khoảng thời gian chạy trùng nhau thì sẽ chọn giá thấp nhất trong khoảng thời gian đó ạ
Công thức chỉ sử dụng 2 hàm đơn giản mà suốt 4 năm không tìm hiểu để tự tin áp dụng được là quá thụ động.
 
Em chào anh/chị

Em có file CTKM sheet Dữ liệu gồm có các cột như trong bảng.
Em đang muốn lấy cột "Giá Km mới" từ sheet dữ liệu đưa sang sheet "Lấy giá" phải thoả mãn điều kiện cùng mã Navi code và ngày bán ở sheet "lấy giá" phải thuộc khoảng thời gian chạy chương trình khuyến mại. Nếu ví dụ có khoảng chạy CKTM trùng nhau như: 05/10-07/10 và 05/10-31/10 thì đoạn từ 05/10-07/10 sẽ chọn giá thấp nhấp còn từ 08/10-31/10 thì trả về giá đúng thuộc khoảng CTKM
Em nhờ các anh/chị giúp em với ạ :((
Dùng công thức bài #4
Giải thích:
Hàm VLookup cho phép tìm kiếm "gần giống". Những ký tự có thể thay đổi khi so sánh được đại diện bằng "*" ở trị cần tìm
ví dụ:
AV.000733 399*733*181219*24 TC_399 có tất cả 3 ký tự đại diện *. 3 ký tự này đối với VLoopup có thể coi như chuỗi gì cũng được. Vì vậy dò sẽ ra sai.
Làm thế nào để VLookup KHÔNG coi * là ký tự đại diện? Trả lời: dùng dấu hiệu phản đại diện. Dấu hiệu phản đại diện báo cho VLookup biết rằng ký tự đi ngay sau nó KHÔNG PHẢI là ký tự đại diện, cứ xem * là một ký tự bình thường. Trong chuoix trên bạn có 3 lần *, vì vậy phải dùng ký tự phản đại diện 3 lần, mỗi lần ngay trước *.
Công thức bài #4 làm đúng công việc ấy. Để ý SUBSTITUTE(A2,"*","~*") thay thế các * trong trị cần tìm của bạn bằng ~*.
Dấu ngã chính là ký tự phản đại diện. Nó bảo VLookup rằng đừng xem * là chuỗi đại diện.

Tại A2187 bạn có
AV.000733 399*733*181219*24 TC_399
Vì * được coi là ký tự đại diện cho các ký tự trước 24 cho nên VLookup coi 324 như *24, và nó cho ra
AV.000733 399*733*181219*324 TC_399 (*324 coi như giống *24)
Nếu chỉnh công thức theo bài #4 thì bạn có:
AV.000733 399~*733~*181219~*24 TC_399
VLookup được dặn ~*24 không được xem như *324. Và nó dò chính xác (bài #2 nhắc nhở từ "chính xác" là ý này đấy, chứ không phải chọc ghẹo gì bạn)


Cái này thì tôi không hiểu
Anh/chị bài viết #16 và #17 ơi, mọi người hiểu nhầm ý em rồi ạ.
Em hỏi công thức cho ví dụ tìm giá Km mới cơ ạ. Còn bài viết 4 năm trước thì em có tìm hiểu và đã nắm được nội dung công thức rồi ạ.
Là lỗi của em đã không tạo bài viết mới mà trả lời nối tiếp vào bài viết cũ :( nên mới có sự nhầm lẫn này
Nội dung em muốn hỏi mới như này ạ:

Em có file CTKM sheet Dữ liệu gồm có các cột như trong file
Em đang muốn lấy cột "Giá Km mới" từ sheet "dữ liệu" đưa sang sheet "Lấy giá" phải thoả mãn điều kiện cùng mã Navi code và ngày bán ở sheet "lấy giá" phải thuộc khoảng thời gian chạy chương trình khuyến mại. Nhưng Nếu ví dụ có khoảng chạy CKTM trùng nhau như: 10/10-31/10 và 11/10-14/10 thì đoạn từ 11/10-14/10 sẽ phải chọn giá thấp nhấp còn từ 10/10 và 15/10-31/10 thì trả về giá đúng thuộc khoảng CTKM.
Em có đang dùng công thức Lookup như trong file nhưng đang bị thiếu điều kiện nếu khoảng chạy CTKM trùng.
Em gửi lại file anh/chị xem giúp em với ạ
 

File đính kèm

Em chào các anh/chị,

Anh chị giúp em vấn đề sau với ạ.
Em đang dùng hàm Vlookup để lấy dữ liệu từ sheet B sang sheet A. Nhưng khi đưa sang thì có 1 số trường hợp dữ liệu bên sheet B không giống với sheet A nhưng nó vẫn bắt sang ( Em đã filter những trường hợp bắt sai ) ạ.

Anh/chị có thể cho em biết nguyên nhân sai và có cách nào để khắc phục không ạ?
Em muốn dữ liệu tham chiếu sang phải chính xác ạ.



Em cảm ơn anh/chị.
Căn bản là chỗ hàm Vlookup nó chạy ra sai data rồi => Có thể sử dụng hàm Xlookup thay thế xem sao. Tại cột "Check" có những cell hiển thị "Không có data" có nghĩa là bên Sheet B thực sự ko có mã đó. Các mã đôi lúc chỉ lệch nhau 1 ký tự nên nếu dùng Ctrl C Ctrl F để tìm thì có thể tìm ra dữ liệu tương tự chứ không chính xác.

Mình gửi file xem sao nhé.
 

File đính kèm

Web KT

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

Back
Top Bottom