Cách dò tìm ký tự trong chuỗi??? (1 người xem)

Liên hệ QC

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

Mình có các cột như sau:

Cột A1: Nhập mã cuồn giấy
Cột A2: Xuất ra loại giấy chạy tương ứng

VD: Mã cuồn --> Loại giấy
2M1919 --> PT
2YBB1856 --> DL
1X1123 --> X
2XTL1256 --> CA
2N1568 --> PT
10KBB235 --> TL
2TXD1256 --> DUP
1TTL2368 --> DUP
2DL21568 --> GDL

Ở cột Loại giấy mình muốn sử dụng công thức, chỉ cần nhập dữ liệu ở cột Mã cuồn có các ký tự sau là sẽ cột Loại giấy tự cho ra loại giấy tương ứng:
M --> PT
N --> PT
X --> X
XTL --> CA
TXD --> DUP
TTL --> DUP
YBB --> DL
KBB --> TL
DL2 --> GDL​

Các bạn giúp mình với!!!!!!!!

Làm thế này có đúng ý bạn ko nhỉ? Bạn xem thử nhé!
 

File đính kèm

Mình đặt Vùng dò tìm gồm 2 cột, 20 dòng H5:I25. Đây là công thức cho ô D5 để bạn tiện so sánh:
=IF(A5="","",IF(OR(MID(A5,2,1)="M",MID(A5,2,1)="N",AND(MID(A5,2,1)="X",MID(A5,2,3)<>"XTL")),VLOOKUP(MID(A5,2,1),$H$5:$I$25,2,0),VLOOKUP(MID(A5,2,3),$H$5:$I$25,2,0)))
Sau này có phát sinh mã mới thì bạn thêm vào vùng dò tìm. Nhưng nếu mã mới có 1 kí tự (KT), bạn còn phải thêm vào trong hàm OR() hàm MID(A5,2,1)="KT", (ô A5) và sao chép lại công thức xuống dưới.
Mình thấy Mã cuồn chỉ có một số trước nên công thức chỉ viết vậy. Nếu có 2 số trước thì công thức căn bản vẫn vậy nhưng sẽ dài thêm nhiều.
Sẽ có cách khác viết gọn hơn nhưng mình thích viết kiểu này vì không phải thêm gì vào bảng tính và dùng những hàm căn bản của Excel.
Thêm nữa độ dài chuỗi Mã cuồn không ảnh hưởng đến kết quả.
Mình gửi bạn file BCDS_06-2012_re.xls với công thức trên.
http://www.mediafire.com/view/?jq29q3ckvqq9441
 
Lần chỉnh sửa cuối:
Bạn đã liệt kê hết rồi thì tôi nghĩ bạn dùng vlookup là dơn giản nhất.
 
Cám ơn bạn Tuainhan nhiều nha!!!!!! Nếu mã cuồn phía trước có 2 số thì làm như thế nào vậy bạn? Hiện tại thì cũng có xuất hiện mã cuồn phía trước có 2 chữ số nhưng không thường xuyên. Bạn chỉ mình cách làm luôn đi.
 
File của bạn đây: New BCDS_06-2012_re.xls:
http://www.mediafire.com/?7j3gptb2z9fp2ql
- Dạng tổng quát của công thức ô *5: =IF(A5="","",IF(MID(A5,2,1)<="9","2 SO","1 SO")).
Nếu kí tự thứ 2 là kí tự số thì chạy công thức "Mã cuồn có 2 kí tự số đầu"
- Chú ý khi phát sinh mã mới có 1 kí tự (KT), bạn còn phải thêm vào trong hàm OR() hàm MID(A5,3,1)="KT" hoặc MID(A5,2,1)="KT" đúng vị trí. Trong công thức mới này có đến 2 hàm OR() nghen bạn.
Công thức quá dài nhưng mình nghĩ ...
 
Lần chỉnh sửa cuối:
Thêm một cách này nữa, Bạn xem file nhé.
Mình dùng Name để tách chuỗi, chỉ lấy phần chữ.
Bạn chỉ cần nhập LayMa ngay tại ô bên phải, cùng dòng với mã của bạn là OK. Sau đó bạn dùng hàm Vlookup...
Tuy nhiên cách này chỉ để tham khảo "cho vui" thôi.
 

File đính kèm

Cám ơn bạn Tuainhan nhiều nha!!!!!! Nếu mã cuồn phía trước có 2 số thì làm như thế nào vậy bạn? Hiện tại thì cũng có xuất hiện mã cuồn phía trước có 2 chữ số nhưng không thường xuyên. Bạn chỉ mình cách làm luôn đi.

Bạn lấy file theo công thức ở bài #17
hoặc theo cách bác bate dùng VBA tại bài #18 (xem hướng dẫn ở bài #13)
là đúng nội dung hỏi rồi

bạn thử các cách đó chưa, nếu không được cũng nên phản hồi là lỗi sao, còn cứ tràn lan thế này thì ...... không biết đầu mà lần ra ...... ma... đâu
 
Mấy bữa nay bận quá nên mình cũng chưa có tìm hiểu về Name, còn VBA thì hơi phức tạp, mà file báo cáo này thì có nhiều người cùng sử dụng nên chắc không thể áp dụng (đa số đều không rành về các hàm trong Excel). Mình mới thử cách của bạn Tuainhan và thấy áp dụng được. Mình cám ơn mọi người đã vất vả mấy ngày qua. Thanks nhiều nhiều..........!!!!!!!!!!
 
Web KT

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

Back
Top Bottom