[HỎI] về cách phân biệt dấu * trong Excel (5 người xem)

  • Thread starter Thread starter angelo89
  • Ngày gửi Ngày gửi
Liên hệ QC

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

angelo89

Thành viên mới
Tham gia
12/12/12
Bài viết
4
Được thích
0
Chào các bác! Em đang dùng hàm vlookup để lọc các dữ liệu trùng từ 2 file Excel nhưng trong Excel lại không phân biệt dấu *. Ví dụ ở bảng 2 em có mã H82.0* còn bảng 1 có mã H82.0 thì khi chạy công thức tới ô này, kết quả trả về không phải là #N/A mà vẫn có dữ liệu. Đáng lẽ 2 ô này phải hoàn toàn khác nhau chứ không coi là giống nhau được. Mong các bác chỉ giúp em. Công thức của em đây: vlookup(H82.0*,[bảng tham chiếu],2,0)
 
Upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
 
Chào các bác! Em đang dùng hàm vlookup để lọc các dữ liệu trùng từ 2 file Excel nhưng trong Excel lại không phân biệt dấu *. Ví dụ ở bảng 2 em có mã H82.0* còn bảng 1 có mã H82.0 thì khi chạy công thức tới ô này, kết quả trả về không phải là #N/A mà vẫn có dữ liệu. Đáng lẽ 2 ô này phải hoàn toàn khác nhau chứ không coi là giống nhau được. Mong các bác chỉ giúp em. Công thức của em đây: vlookup(H82.0*,[bảng tham chiếu],2,0)

Vì mô tả không rõ ràng, nên thử như sau
=VLOOKUP(SUBSTITUTE(A1,"*","~*"),[bảng tham chiếu],2,0)
 
Vì mô tả không rõ ràng, nên thử như sau
=VLOOKUP(SUBSTITUTE(A1,"*","~*"),[bảng tham chiếu],2,0)
Ví dụ ở bảng 2 em có mã H82.0*, ở bảng 1 e có mã H82.0 thì khi vlookup bảng 2 qua bảng 1, excel tự hiểu 2 mã này giống nhau bác ạ, vì vậy nên kết quả trả về khi đối chiếu nó bị sai. Rõ ràng là 2 mã này khác nhau thì kết quả phải ra #N/A
 

File đính kèm

  • Untitled.jpg
    Untitled.jpg
    144.3 KB · Đọc: 10
Bạn post file lên xem nào.
Không có file, biết để kết quả vào đâu đây.
 
Dùng LOOKUP cho an toàn:

=LOOKUP(2,1/(E1:E4=A2),F1:F4)
 
Kinh nghiệm xương máu nhé bạn, excel kỵ các ký tự nhạy cảm như "*","?",... vì nó quy định đây là các ký tự đại diện cho nhómký tự, 1 ký tự...
do đó H82.0* được hiểu là H82.0, H82.0blahblah,...
Nếu có thể sửa được bộ mã hàng thì nên sửa, còn không thì chữa cháy bằng cách thay * bằng ký tự khác, ví dụ như @, dùng hàm SUBSTITUTE

=IFERROR(VLOOKUP(SUBSTITUTE(D1,"*","@"),SUBSTITUTE($A$1:$B$2,"*","@"),2,0),"Không có")

Kết thúc bằng Ctrl-shft-enter

Xem hình minh họa

Untitled.png
 
Bổ sung thêm trường hợp muốn dùng SUMIF: dùng SUMPRODUCT thay thế

Untitled.png
 
Kinh nghiệm xương máu nhé bạn, excel kỵ các ký tự nhạy cảm như "*","?",... vì nó quy định đây là các ký tự đại diện cho nhómký tự, 1 ký tự...
do đó H82.0* được hiểu là H82.0, H82.0blahblah,...
Nếu có thể sửa được bộ mã hàng thì nên sửa, còn không thì chữa cháy bằng cách thay * bằng ký tự khác, ví dụ như @, dùng hàm SUBSTITUTE

=IFERROR(VLOOKUP(SUBSTITUTE(D1,"*","@"),SUBSTITUTE($A$1:$B$2,"*","@"),2,0),"Không có")

Kết thúc bằng Ctrl-shft-enter

Xem hình minh họa

View attachment 189374
Cảm ơn bác rất nhiều, em đã thử và thành công! Em còn 1 thắc mắc nữa là theo công thức của bác, nếu em loại bỏ Iferror chỉ giữ lại vlookup thì sẽ lỗi công thức. Nếu để vlookup thì chỉ có 1 Subtitue. Em k hiểu chỗ này cho lắm.
=VLOOKUP(SUBSTITUTE(D1,"*","@"),$A$1:$B$2,2,0)
 
Lần chỉnh sửa cuối:
Em tìm mã A~* nó lại ra A~hihi anh ạ :D
Đúng với các số liệu nêu ra ở bài 1, còn giả thiết thêm thêm ký tự đặc biệt nữa thì có nhiều giả thiết nữa

Ví dụ ở bảng 2 em có mã H82.0*, ở bảng 1 e có mã H82.0 thì khi vlookup bảng 2 qua bảng 1, excel tự hiểu 2 mã này giống nhau bác ạ, vì vậy nên kết quả trả về khi đối chiếu nó bị sai. Rõ ràng là 2 mã này khác nhau thì kết quả phải ra #N/A

Trong hình không có 2 bảng, cũng không thấy ký tự * nào
 
Cảm ơn bác rất nhiều, em đã thử và thành công! Em còn 1 thắc mắc nữa là theo công thức của bác, nếu em loại bỏ Iferror chỉ giữ lại vlookup thì sẽ lỗi công thức. Nếu để vlookup thì chỉ có 1 Subtitue. Em k hiểu chỗ này cho lắm.
=VLOOKUP(SUBSTITUTE(D1,"*","@"),$A$1:$B$2,2,0)
SUBSTITUTE dùng để thay thế ký tự * thành @ để tránh gây hiểu lầm cho Excel.
VLOOKUP cần 2 SUBTITUTE để thay trong bảng và trong điều kiện. Nếu chỉ thay trong điều kiện như bạn dùng thì VLOOKUP sẽ không tìm ra
IFERROR dùng để bẫy lỗi và trả về giá trị muốn có nếu không tìm thấy
 
Web KT

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

Back
Top Bottom