Dò tìm thông tin với giá trị để tìm kiếm chỉ giống nhau một số ký tự nhất định

Liên hệ QC

findaway

Thành viên mới
Tham gia
2/7/11
Bài viết
4
Được thích
0
Chào mọi người,
Mong mọi người giúp mình việc này nhé.
Với hàm Vlookup/Hlookup, rất dễ dàng nếu hai giá trị dùng để tìm kiếm giống nhau hoàn toàn.
Nhưng hiện giờ mình đang gặp phải tình trạng hai giá trị dùng để tìm kiếm chỉ giống nhau ở một số ký tự nhất định.
Ví dụ:

Mình có bảng dữ liệu dùng làm cơ sở chứa thông tin như sau:
BCD - 1
HIJKL- 2

Bây giờ mình có một bảng khác cần tìm thông tin như sau:
ABCDE----??? ------->giá trị kiếm được là 1, vì giống BCD chuỗi "BCD"
FGHIJKL----??? -------->giá trị kiếm được là 2, vì giống HIJKL chuối "HIJKL".


Với ví dụ trên cần phải làm thế nào để biết được với ABCDE thì cho giá trị là 1, và FGHIJKL là 2?

Xin lỗi ở công ty không thể post file đính kèm được, nên hơi khó để hình dung cụ thể, mong mọi người giúp đỡ nhé.
Cảm ơn mọi người nhiều.
 
Chào mọi người,
Mong mọi người giúp mình việc này nhé.
Với hàm Vlookup/Hlookup, rất dễ dàng nếu hai giá trị dùng để tìm kiếm giống nhau hoàn toàn.
Nhưng hiện giờ mình đang gặp phải tình trạng hai giá trị dùng để tìm kiếm chỉ giống nhau ở một số ký tự nhất định.
Ví dụ:

Mình có bảng dữ liệu dùng làm cơ sở chứa thông tin như sau:
BCD - 1
HIJKL- 2

Bây giờ mình có một bảng khác cần tìm thông tin như sau:
ABCDE----??? ------->giá trị kiếm được là 1, vì giống BCD chuỗi "BCD"
FGHIJKL----??? -------->giá trị kiếm được là 2, vì giống HIJKL chuối "HIJKL".


Với ví dụ trên cần phải làm thế nào để biết được với ABCDE thì cho giá trị là 1, và FGHIJKL là 2?

Xin lỗi ở công ty không thể post file đính kèm được, nên hơi khó để hình dung cụ thể, mong mọi người giúp đỡ nhé.
Cảm ơn mọi người nhiều.
Chẳng hiểu gì cả! Bạn đưa file dữ liệu lên và minh hoạ kết quả mong muốn.
 
Chào mọi người,
Mong mọi người giúp mình việc này nhé.
Với hàm Vlookup/Hlookup, rất dễ dàng nếu hai giá trị dùng để tìm kiếm giống nhau hoàn toàn.
Nhưng hiện giờ mình đang gặp phải tình trạng hai giá trị dùng để tìm kiếm chỉ giống nhau ở một số ký tự nhất định.
Ví dụ:

Mình có bảng dữ liệu dùng làm cơ sở chứa thông tin như sau:
BCD - 1
HIJKL- 2

Bây giờ mình có một bảng khác cần tìm thông tin như sau:
ABCDE----??? ------->giá trị kiếm được là 1, vì giống BCD chuỗi "BCD"
FGHIJKL----??? -------->giá trị kiếm được là 2, vì giống HIJKL chuối "HIJKL".


Với ví dụ trên cần phải làm thế nào để biết được với ABCDE thì cho giá trị là 1, và FGHIJKL là 2?

Xin lỗi ở công ty không thể post file đính kèm được, nên hơi khó để hình dung cụ thể, mong mọi người giúp đỡ nhé.
Cảm ơn mọi người nhiều.
Khẳng định rằng bài này làm được, nhưng bạn phải cho dữ liệu lên để hướng dẫn chi tiết hơn (nếu không thì dù có hướng dẩn, chưa chắc bạn đã biết cách làm)
 

File đính kèm

  • Book2.xls
    17 KB · Đọc: 70
Lần chỉnh sửa cuối:
Chào bạn Phi,
Cảm ơn bạn Phi nhiều.
Cách dùng Vlookup với giá trị tìm kiếm *text* cũng tốt, nhưng vấn đề ở chỗ dữ liệu rất rất nhiều, lên tới ít ra cũng phải 100000 dòng---->nếu làm cách này phải sửa công thức cho từng dữ liệu, rất mất thời gian bạn à.
Phi nghĩ thử có cách nào khác được không?
Cảm ơn Phi nhiều.


Chào bạn ndu96081631 và bạn duongdv
Hiện giờ mình đang ở cty, ko thể post bài lên được.
Để chiều về nhà mình sẽ post bài lên, mong các bạn giúp đỡ nhé.
Cảm ơn bạn nhiều.
 
Chào bạn Phi,
Sorry, mình đã thử lại theo cách bạn nói, và mình đã làm được rồi.
Cảm ơn bạn Phi rất rất nhiều nha.
 

File đính kèm

  • DOTIM_BANGDO_IT_HON_TRIDO.xls
    19.5 KB · Đọc: 70
Dạ chào anh ndu, hihi sau khi tham khảo bài của HuuThang_BD em làm được bài dò tìm với Bảng dò có số ký tự ít hơn trị dò rồi, em gởi anh xem nha
Cái vụ dò kiểu này cũng đã có trên GPE lâu lắm rồi... nói chung là có hàng đóng cách, VBA thì chẳng nói làm gì, riêng công thức thì không tránh khỏi dùng mảng
Cách của bạn là dùng hàm SEARCH, cách khác là dùng COUNTIF
Ví dụ:
PHP:
=LOOKUP(2,1/COUNTIF(A20,"*"&$B$14:$B$17&"*"),$C$14:$C$17)
vân vân... vô vàn cách
----------------------
(mà bạn tiếp thu kiến thức cũng nhanh quá nhỉ, đáng chúc mừng nha)
 
Lúc trước em cũng nghĩ được như vậy "*"&$B$14:$C$17&"*" mà ứng dụng không được, nay đọc bài của anh em đã hiểu nhiều rồi, cảm ơn anh nhiều
Người ta nói muốn biết phải hỏi muốn giỏi phải học mà muốn học phải tham gia diễn đàn xem bài, trả lời và học hỏi cách giải của các tiền bối thì mới hy vọng phát triển được, chào anh
 
Chao anh ndu, ban Phi,
Hien gio minh lai gap them truong hop nua.
Chi mot so ky tu cua tri do giong mot so ky tu cua bang do o mot so ky tu, chu khong phai toan bi tri do giong mot so ky tu cua bang do.
Vi vay neu ap dung theo ham Lookup cac anh chi cong thuc khong hieu.
Minh tai file dinh kem, mong cac anh giup gium minh nhe.
Cam on cac anh nhieu.
 

File đính kèm

  • CHI MOT SO KY TU CUA TRI DO GIONG MOT SO KY TU BANG DO.xls
    37 KB · Đọc: 20
Chao anh ndu, ban Phi,
Hien gio minh lai gap them truong hop nua.
Chi mot so ky tu cua tri do giong mot so ky tu cua bang do o mot so ky tu, chu khong phai toan bi tri do giong mot so ky tu cua bang do.
Vi vay neu ap dung theo ham Lookup cac anh chi cong thuc khong hieu.
Minh tai file dinh kem, mong cac anh giup gium minh nhe.
Cam on cac anh nhieu.
Trong lúc chờ Sư phụ ndu trả lời, bạn xem file này đúng không nha
 

File đính kèm

  • Copy of CHI MOT SO KY TU CUA TRI DO GIONG MOT SO KY TU BANG DO.xls
    30.5 KB · Đọc: 40
Trong lúc chờ Sư phụ ndu trả lời, bạn xem file này đúng không nha
Công thức của phihndhsp:
=LOOKUP(255,SEARCH(TRIM(LEFT($B$4:$B$7,FIND(" ",$B$4:$B$7,1))),A12,1),$C$4:$C$7)
dựa trên các ký tự liên tiếp đầu tiên của các phần tử trong bảng dò.
vd: FAST connect => FAST
Plastic ovcc with ring => Plastic
sau đó dùng kết quả này để tìm kiếm trong danh mục.
Cách này có thể chính xác với file giả định, nhưng vào thực tế, kết quả sẽ không như ý.
VD: Bảng dò:
Plastic ovcc with ring, mã trả về là A14, có điều kiện dò là chuỗi Plastic ovcc , chứ không phải chỉ là Plastic
Nếu bảng trị dò có giá trị, ví dụ: Plastic XYZ , thì kết quả trả về cũng là mã A14.
Theo ý kiến riêng tôi, để kết quả chính xác và logic, bảng dò phải cung cấp thông tin chuẩn xác. Nên sửa trực tiếp trên bảng dò, hoặc lập cột phụ, chứa thông tin dò (Keywords).
VD trên, cột phụ bảng dò sẽ là: FAST connect; FSC-16; MU-LC-T Connec; Plastic ovcc.
 
Công thức của phihndhsp:
=LOOKUP(255,SEARCH(TRIM(LEFT($B$4:$B$7,FIND(" ",$B$4:$B$7,1))),A12,1),$C$4:$C$7)
dựa trên các ký tự liên tiếp đầu tiên của các phần tử trong bảng dò.
vd: FAST connect => FAST
Plastic ovcc with ring => Plastic
sau đó dùng kết quả này để tìm kiếm trong danh mục.
Cách này có thể chính xác với file giả định, nhưng vào thực tế, kết quả sẽ không như ý.
VD: Bảng dò:
Plastic ovcc with ring, mã trả về là A14, có điều kiện dò là chuỗi Plastic ovcc , chứ không phải chỉ là Plastic
Nếu bảng trị dò có giá trị, ví dụ: Plastic XYZ , thì kết quả trả về cũng là mã A14.
Theo ý kiến riêng tôi, để kết quả chính xác và logic, bảng dò phải cung cấp thông tin chuẩn xác. Nên sửa trực tiếp trên bảng dò, hoặc lập cột phụ, chứa thông tin dò (Keywords).
VD trên, cột phụ bảng dò sẽ là: FAST connect; FSC-16; MU-LC-T Connec; Plastic ovcc.
dạ đúng là như vậy, nhưng đây là công thức em làm theo bài này, chứ dò tìm mà tìm theo một số ký tự nhất định thì em không tìm thấy trường hợp nào cụ thể cả nên mới làm như vậy
 
Theo tôi thì bài này không thể dùng công thức một cách triệt để được. Nếu muốn dùng công thức bạn phải tạo thêm một bản mã chuẩn liệt kê tất cả các mã đúng chuẩn của bạn. Còn không thì phải dùng VBA thôi mặc dù bài này dùng VBA cũng không phải dễ.
 
Web KT
Back
Top Bottom