Tách ký tự ra khỏi mã phiếu gửi

Liên hệ QC

Dương Kim Cúc

Thành viên mới
Tham gia
8/11/16
Bài viết
8
Được thích
2
Chào cả nhà,
Nhà mình lấy giúp em mã bưu phẩm chuẩn với ạ. Đối với mã 400945215 thì giữ nguyên 400945215 và 400539788-6574 cũng giữ nguyên. Với mã có dấu"/" thì lấy đoạn ký tự đứng trước nó trước dấu "-". Ví dụ 373312166-6568-2/11 thì tách còn 373312166-6568 và 401135483-7/8 tách ra còn 401135483
Em cảm ơn ạ!
401135483-7/8
401135483-1/8
401135483-6/8
401135483-8/8
401135483-3/8
401135483-5/8
401135483-2/8
400945215
397043486
397210719-2/2
321891766-2783
397210719-1/2
402876737
396125638-1/10
373312166-6568-2/11
400539788-6574
 
Nếu dữ liệu của bạn "y sờ boong" như trong bài & nằm tại cell [A3], bạn thử công thức ở cell muốn nhận kết quả:
=IFERROR(LEFT(A3,SEARCH("-?/",A3)-1),A3)
Nếu còn dạng nào khác nữa thì ....la lên
(chỗ này 373312166-6568-2/11 mình nghi có vấn đề với nó lắm. Híc)
Thân
 
Em cảm ơn nhiều nhiều!
Với hàm này khi em để dữ liệu như trên thì chuẩn rồi. Nhưng lại phát sinh vấn đề đối với mã phiếu khi có 2 chữ số sau dấu gạch ngang ví dụ như: 401013752-14/15 thì vẫn giữ nguyên mã ( chuẩn là 401013752) và 373312166-6568-22/11 vẫn giữ nguyên mã ( chuẩn mã là 373312166-6568 )
Tức là em cần tách đối với 1 mã không có dấu "/" ta vẫn giữ nguyên như cũ, còn mã có dấu "/" thì ta phải tách từ dấu gạch ngang"-" trước dấu "/" ra nữa ạ. Với mã có 2 dấu "-" như 13245656-3356-2/11 thì tách là 13245656-3356
Giúp em tách ra cho chuẩn với ạ!


Xem giúp em nếu như tách như vậy thì làm như thế nào với ạ. Em gửi trong file đính kèm.
Nếu dữ liệu của bạn "y sờ boong" như trong bài & nằm tại cell [A3], bạn thử công thức ở cell muốn nhận kết quả:

Nếu còn dạng nào khác nữa thì ....la lên
(chỗ này 373312166-6568-2/11 mình nghi có vấn đề với nó lắm. Híc)
Thân
 

File đính kèm

  • Book1.xlsx
    96.8 KB · Đọc: 15
Lần chỉnh sửa cuối:
Nếu dữ liệu của bạn "y sờ boong" như trong bài & nằm tại cell [A3], bạn thử công thức ở cell muốn nhận kết quả:

Nếu còn dạng nào khác nữa thì ....la lên
(chỗ này 373312166-6568-2/11 mình nghi có vấn đề với nó lắm. Híc)
Thân
Chào anh concogia,

Vậy mình thay ? bằng * được không anh?

Hy vọng nó chạy tuốt tuồn tuột, khá khà khà --=0

Chúc anh ngày vui
,
 
Em cảm ơn nhiều nhiều!
Với hàm này khi em để dữ liệu như trên thì chuẩn rồi. Nhưng lại phát sinh vấn đề đối với mã phiếu khi có 2 chữ số sau dấu gạch ngang ví dụ như: 401013752-14/15 thì vẫn giữ nguyên mã ( chuẩn là 401013752) và 373312166-6568-22/11 vẫn giữ nguyên mã ( chuẩn mã là 373312166-6568 )
Tức là em cần tách đối với 1 mã không có dấu "/" ta vẫn giữ nguyên như cũ, còn mã có dấu "/" thì ta phải tách từ dấu gạch ngang"-" trước dấu "/" ra nữa ạ. Với mã có 2 dấu "-" như 13245656-3356-2/11 thì tách là 13245656-3356
Giúp em tách ra cho chuẩn với ạ!


Xem giúp em nếu như tách như vậy thì làm như thế nào với ạ. Em gửi trong file đính kèm.
Hihi, cái mình nghi nghi ai dè trúng thật( chỗ mình tô màu đỏ), cho mình hỏi, sau dấu "-" và trước dấu "/" chỉ có 2 trường hợp là 1 & 2 ký tự ?
Chào anh concogia,
Vậy mình thay ? bằng * được không anh?
Hy vọng nó chạy tuốt tuồn tuột, khá khà khà --=0
Chúc anh ngày vui
Thay thì được thôi, nhưng mà khi chạy công thức có một số mã sẽ bị "tèo", không tin bạn thử thay rồi ....sẽ hì hục tìm cách sửa. Híc, thân +-+-+-++-+-+-++-+-+-+Hu hu hu
Thật ra, khi trả lời bài đầu mình đã nghĩ trươc dấu "/" sẽ xảy ra trường hợp có 2 ký tự, nhưng phải chờ chủ topic xác nhận đã chứ không rủi nó có 4, 5, 6 ký tự thì lại..."tèo"
 
Hihi, cái mình nghi nghi ai dè trúng thật( chỗ mình tô màu đỏ), cho mình hỏi, sau dấu "-" và trước dấu "/" chỉ có 2 trường hợp là 1 & 2 ký tự ?

Thay thì được thôi, nhưng mà khi chạy công thức có một số mã sẽ bị "tèo", không tin bạn thử thay rồi ....sẽ hì hục tìm cách sửa. Híc, thân +-+-+-++-+-+-++-+-+-+Hu hu hu
Thật ra, khi trả lời bài đầu mình đã nghĩ trươc dấu "/" sẽ xảy ra trường hợp có 2 ký tự, nhưng phải chờ chủ topic xác nhận đã chứ không rủi nó có 4, 5, 6 ký tự thì lại..."tèo"
Khà khà khà, vậy hai anh em mình "chia lợi nhuận" bài này nha, hoặc lấy tiền "đi nhậu" chung.
Anh duyệt dùm: --=0

Giải pháp vầy:
1. Đếm số lượng dấu "-", nếu nó >1 thì mình thay "-" đầu tiên bằng dấu ".", hổng phải thì mình giữ nguyên "y chooang".
2. Dùng công thức của anh nhưng thay ? bằng *, bỏ luôn dấu "/".

Tạo name "Quydoi"

Mã:
=IF(LEN(Sheet1!A2)-LEN(SUBSTITUTE(Sheet1!A2,"-",""))>1,SUBSTITUTE(Sheet1!A2,"-",".",1),Sheet1!A2)

Công thức tại:
Mã:
B2=IFERROR(SUBSTITUTE(LEFT(Quydoi,SEARCH("-*",Quydoi)-1),".","-"),A2)
(hú hồn không cần dùng công thức mảng mà anh chúa ghét }}}}})

Hy vọng đúng ý chủ thớt, khà khà khà.

Chúc anh ngày thiệt vui /-*+//-*+//-*+/
p/s: chắc bỏ luôn dấu * luôn chắc cũng được phải không anh? :)
 

File đính kèm

  • GPE_Catchuoi.xlsb
    82.5 KB · Đọc: 7
Lần chỉnh sửa cuối:
Khà khà khà, vậy hai anh em mình "chia lợi nhuận" bài này nha, hoặc lấy tiền "đi nhậu" chung.
Anh duyệt dùm: --=0

Giải pháp vầy:
1. Đếm số lượng dấu "-", nếu nó >1 thì mình thay "-" đầu tiên bằng dấu ".", hổng phải thì mình giữ nguyên "y chooang".
2. Dùng công thức của anh nhưng thay ? bằng *, bỏ luôn dấu "/".

Tạo name "Quydoi"

Mã:
=IF(LEN(Sheet1!A2)-LEN(SUBSTITUTE(Sheet1!A2,"-",""))>1,SUBSTITUTE(Sheet1!A2,"-",".",1),Sheet1!A2)

Công thức tại:
Mã:
B2=IFERROR(SUBSTITUTE(LEFT(Quydoi,SEARCH("-*",Quydoi)-1),".","-"),A2)
(hú hồn không cần dùng công thức mảng mà anh chúa ghét }}}}})

Hy vọng đúng ý chủ thớt, khà khà khà.

Chúc anh ngày thiệt vui /-*+//-*+//-*+/
p/s: chắc bỏ luôn dấu * luôn chắc cũng được phải không anh? :)
Bạn í viết thế này:
Chào cả nhà,
Nhà mình lấy giúp em mã bưu phẩm chuẩn với ạ. Đối với mã 400945215 thì giữ nguyên 400945215 và 400539788-6574 cũng giữ nguyên. Với mã có dấu"/" thì lấy đoạn ký tự đứng trước nó trước dấu "-". Ví dụ 373312166-6568-2/11 thì tách còn 373312166-6568 và 401135483-7/8 tách ra còn 401135483
Em cảm ơn ạ!
Bỏ vào công thức thì nó chỉ giữ nguyên 400539788
Híc, sửa nao
Thân
 
Cho em bon chen với. hic

@Dương Kim Cúc:
Dùng hàm tự tạo. Công thức:
Mã:
=TachMP(A2)
Hoặc dùng sub: Click vào nút màu xanh.
Bạn xem file đính kèm nhé.
 

File đính kèm

  • Tach MP.xlsb
    55.5 KB · Đọc: 7
Bạn í viết thế này:

Bỏ vào công thức thì nó chỉ giữ nguyên 400539788
Híc, sửa nao
Thân
Thì bởi!

Nhiều anh em đưa đề bài lên, diễn đạt chưa được trơn tru, lắm phen làm anh em mình khốn đốn anh ơi! gặp nhiều lắm rồi **~****~**--=0 nên đôi khi phải thông cảm.

Lắm lúc mình ngẫn tò te luôn! không biết ý làm sao, khà khà khà, "dzô chăm phần chăm cái coi"

Chúc anh ngày vui
 
Cho em bon chen với. hic

@Dương Kim Cúc:
Dùng hàm tự tạo. Công thức:
Mã:
=TachMP(A2)
Hoặc dùng sub: Click vào nút màu xanh.
Bạn xem file đính kèm nhé.
Nhậu chung thì cho, nhưng đừng có phá mồi hai anh thì đưượợc --=0--=0--=0

Chúc em trai ngày vui.
 
Nhậu chung thì cho, nhưng đừng có phá mồi hai anh thì đưượợc --=0--=0--=0

Chúc em trai ngày vui.

Vâng anh! }}}}}}}}}}}}}}}}}}}}

Anh ơi! Vẫn tiếp đó chứ ạ.
Em triển khai ý trong vba thành công thức. Anh xem giúp em.
Mã:
=IFERROR(SUBSTITUTE(FIND("/",A2),FIND("/",A2),"")&IFERROR(MID(A2,1,FIND("-",A2,FIND("-",A2)+1)-1),MID(A2,1,FIND("-",A2)-1)),A2)
 
Lần chỉnh sửa cuối:
Vâng anh! }}}}}}}}}}}}}}}}}}}}

Anh ơi! Vẫn tiếp đó chứ ạ.
Em triển khai ý trong vba thành công thức. Anh xem giúp em.
Mã:
=IFERROR(SUBSTITUTE(FIND("/",A2),FIND("/",A2),"")&IFERROR(MID(A2,1,FIND("-",A2,FIND("-",A2)+1)-1),MID(A2,1,FIND("-",A2)-1)),A2)
Công thức của em chính xác hơn công thức của anh.

Anh không nhận diện được các thằng như: 456789123-3568 thì phải giữ nguyên.

Khà khà, Chúc mừng em. "Dzô chăm phần chăm" }}}}}}}}}}}}}}}
 
thấy anh em tham gia đông vui lẽ nào mình làm ngơ, cũng ráng đóng gớp thêm một công thức
Mã:
=IFERROR(LEFT(A2,SEARCH("-",A2,SEARCH("-",A2)+1)-1),IFERROR(LEFT(A2,SEARCH("-",A2)-1),A2))
 
Phần mã phiếu gửi còn có thể có nhiều ký tự hơn nữa ạ, vì phần mã là chung nhưng 1 mã có thể có 1 hoặc nhiều kiện hàng nên bên em mới đánh mã là "-2/11" hay "-10/11" để phân biệt từng kiện. Còn những mã không có dấu "/" tức là mã phiếu gửi đấy chỉ bao gồm 1 kiện hàng thôi. Giờ em muốn bỏ đi để sau tách ra để ra mã chuẩn cho nó đấy nhưng chưa làm được ạ.
Phần từ 2 ký tự nếu k chạy được thì có thể lọc 1 lần nữa ra để đặt công thức khác được không ạ?
Em dùng làm left hoặc mid để tách nhưng những mã có định dạng 1445676777-1143 nó lại về 1445676777 nên toàn phải check lại để sửa bằng tay thôi nên không check được, nó hay bị thiếu mã lắm ạ
Em gửi file ở bên dưới nhé

nếu có thêm đánh số 2/300, hay 15/300, 100/300Nhưng em cần tách để để
Hihi, cái mình nghi nghi ai dè trúng thật( chỗ mình tô màu đỏ), cho mình hỏi, sau dấu "-" và trước dấu "/" chỉ có 2 trường hợp là 1 & 2 ký tự ?

Thay thì được thôi, nhưng mà khi chạy công thức có một số mã sẽ bị "tèo", không tin bạn thử thay rồi ....sẽ hì hục tìm cách sửa. Híc, thân +-+-+-++-+-+-++-+-+-+Hu hu hu
Thật ra, khi trả lời bài đầu mình đã nghĩ trươc dấu "/" sẽ xảy ra trường hợp có 2 ký tự, nhưng phải chờ chủ topic xác nhận đã chứ không rủi nó có 4, 5, 6 ký tự thì lại..."tèo"
 
Lần chỉnh sửa cuối:
Em gửi file em tách mã gửi ở bên dưới đây. Cả nhà xem giúp em với ạ
 
Em gửi file em tách mã gửi ở bên dưới đây. Cả nhà xem giúp em với ạ
 
Chuẩn luôn rồi ạ. May quá có anh trợ giúp nếu không e phải ngồi lọc mấy nghìn phiếu mà k được. Thanks anh nhiều nhiều!
Khà khà khà, vậy hai anh em mình "chia lợi nhuận" bài này nha, hoặc lấy tiền "đi nhậu" chung.
Anh duyệt dùm: --=0

Giải pháp vầy:
1. Đếm số lượng dấu "-", nếu nó >1 thì mình thay "-" đầu tiên bằng dấu ".", hổng phải thì mình giữ nguyên "y chooang".
2. Dùng công thức của anh nhưng thay ? bằng *, bỏ luôn dấu "/".

Tạo name "Quydoi"

Mã:
=IF(LEN(Sheet1!A2)-LEN(SUBSTITUTE(Sheet1!A2,"-",""))>1,SUBSTITUTE(Sheet1!A2,"-",".",1),Sheet1!A2)

Công thức tại:
Mã:
B2=IFERROR(SUBSTITUTE(LEFT(Quydoi,SEARCH("-*",Quydoi)-1),".","-"),A2)
(hú hồn không cần dùng công thức mảng mà anh chúa ghét }}}}})

Hy vọng đúng ý chủ thớt, khà khà khà.

Chúc anh ngày thiệt vui /-*+//-*+//-*+/
p/s: chắc bỏ luôn dấu * luôn chắc cũng được phải không anh? :)
 
Web KT
Back
Top Bottom