Tách riêng số từ chuỗi (8 người xem)

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

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

Tách rieng số

Nhờ mọi người giúp em tách riêng mã hàng hóa ra từ trong chuỗi, em co đính kèm file,, chúc mọi người moy65 ngày mới vui ve ,, Thank !!!
 

File đính kèm

Nhờ mọi người giúp em tách riêng mã hàng hóa ra từ trong chuỗi, em co đính kèm file,, chúc mọi người moy65 ngày mới vui ve ,, Thank !!!
Dựa vào kí tự VH để tìm rồi tách nó ra
E9=RIGHT(C9,LEN(C9)-FIND("VH",C9)+1) --> bạn kéo xuống nhé

Lưu ý còn 1 số mã chưa đúng, bạn tiếp tục xử lý, tìm tiếp và dùng hàm Left
 

File đính kèm

Lần chỉnh sửa cuối:
Nếu minh muốn bỏ luôn 2 chữ "VH- " thì làm như thế nào ah ,,, Thank mọi người đã giúp
 
rất tuyệt nhug khi keo công thức xuống gặp vấn đề như sau :
thung giặt VH- 2200151 ( hàng thô ) _--> ct sẽ cho ra --> 2200151 ( hàng thô )
hichic,, mình ko muốn vậy ,, chỉ lấy con số thui
va thêm nữa ,, nhiều cái ko bắt đầu bằng " VH- " --> ct báo lỗi #value!
hichcic
 
rất tuyệt nhug khi keo công thức xuống gặp vấn đề như sau :
thung giặt VH- 2200151 ( hàng thô ) _--> ct sẽ cho ra --> 2200151 ( hàng thô )
hichic,, mình ko muốn vậy ,, chỉ lấy con số thui
va thêm nữa ,, nhiều cái ko bắt đầu bằng " VH- " --> ct báo lỗi #value!
hichcic
ko bắt đầu bằng " VH- " là sao bạn, mình thấy có đủ VH mà
Nếu không có VH thì cũng phải có cái gì làm chuẩn để cắt chứ
Tạm thời muốn lấy số không thôi bạn sử dụng cái hàm này xem kq là chuỗi muốn thành số thì value nó(đk: đằng sau mã này không còn số nào nữa nhé)
Mã:
Public Function ma(vung As Range) As String
    Const dk = "1234567890/"
    Dim i, j As Integer, tam, kq As String
        i = InStr(1, vung, "VH")
            For j = i To Len(vung)
                tam = Mid(vung, j, 1)
                If InStr(1, dk, tam) Then kq = kq & tam
            Next
ma = kq
End Function
 
rất tuyệt nhug khi keo công thức xuống gặp vấn đề như sau :
thung giặt VH- 2200151 ( hàng thô ) _--> ct sẽ cho ra --> 2200151 ( hàng thô )
hichic,, mình ko muốn vậy ,, chỉ lấy con số thui
va thêm nữa ,, nhiều cái ko bắt đầu bằng " VH- " --> ct báo lỗi #value!
hichcic
Vậy thì dùng VBA, bạn xem lại bài số #2 nhé.
 

File đính kèm

rất tuyệt nhug khi keo công thức xuống gặp vấn đề như sau :
thung giặt VH- 2200151 ( hàng thô ) _--> ct sẽ cho ra --> 2200151 ( hàng thô )
hichic,, mình ko muốn vậy ,, chỉ lấy con số thui
va thêm nữa ,, nhiều cái ko bắt đầu bằng " VH- " --> ct báo lỗi #value!
hichcic

Thì đây bạn:
Cho công thức tại D9 rồi fill xuống:
PHP:
=IF(ISERR(FIND(" ",SUBSTITUTE(RIGHT(C9,LEN(C9)-FIND("VH",C9)-2),"_"," "))),RIGHT(C9,LEN(C9)-FIND("VH",C9)-2),LEFT(SUBSTITUTE(RIGHT(C9,LEN(C9)-FIND("VH",C9)-2),"_"," "),FIND(" ",SUBSTITUTE(RIGHT(C9,LEN(C9)-FIND("VH",C9)-2),"_"," "))-1))
 
Xin góp một kiểu khác:

Tôi đặt 3 Name:

FindChr10 =ISERROR(FIND(" ", $C17, FIND("VH", $C17)))

FindVH =ISERROR(FIND("VH", $C17))

MaHang =IF(FindVH, "", MID($C17, FIND("VH", $C17), IF(FindChr10, LEN(TRIM($C17)) - FIND("VH", $C17) +1, FIND(" ", $C17, FIND("VH", $C17)) - FIND("VH", $C17))))​

Và tại cột Mã Hàng chỉ cần gõ =MaHang

Nếu thích bỏ chữ VH- ở trước mã hàng, thì dễ thôi, nhưng với kinh nghiệm của riêng tôi, một người đã từng làm công việc quản lý kho vật tư hàng hóa, thì không cần thiết bỏ cái chữ VH-.
 

File đính kèm

rất tuyệt ,, nhug dữ liệu của em,, đã bị bỏ chữ " VH-" từ trước rồi ah,, người lam trước ko co nhập chữ " VH- ", mà chỉ nhập
301152
301153/5
30992152/M
3000526/L
.... .. giờ e không thể ngồi sửa lại dc,, dữ liệu nhiều lắm ah ..
nhờ mọi người giúp đỡ
 
rất tuyệt ,, nhug dữ liệu của em,, đã bị bỏ chữ " VH-" từ trước rồi ah,, người lam trước ko co nhập chữ " VH- ", mà chỉ nhập
301152
301153/5
30992152/M
3000526/L
.... .. giờ e không thể ngồi sửa lại dc,, dữ liệu nhiều lắm ah ..
nhờ mọi người giúp đỡ

Bây giờ thì sao?
Thống nhất cho vui cửa vui nhà là như vầy phải không ?
=> Lấy tất cả các ký tự số liên tục (bắt đầu từ sau "VH-" cho đến trước các khoảng trắng, ký tự "_", ký tự "/",...)
Tác giả cho ý kiến qua file?
 

File đính kèm

Lần chỉnh sửa cuối:
rất tuyệt ,, nhug dữ liệu của em,, đã bị bỏ chữ " VH-" từ trước rồi ah,, người lam trước ko co nhập chữ " VH- ", mà chỉ nhập
301152
301153/5
30992152/M
3000526/L
.... .. giờ e không thể ngồi sửa lại dc,, dữ liệu nhiều lắm ah ..
nhờ mọi người giúp đỡ
Bạn sửa lại công thức trong các Name:
FindChr10 =ISERROR(FIND(" ", $C9, FIND("VH", $C9)))

FindVH =ISERROR(FIND("VH", $C9))

MaHang =IF(FindVH, "", MID($C9, FIND("VH",$C9)+2, IF(FindChr10, LEN(TRIM($C9))-FIND("VH", $C9)-1, FIND(" ",$C9,FIND("VH",$C9))-FIND("VH",$C9)-1)))

Và ở cột mã hàng, dùng công thức này: =SUBSTITUTE(MaHang,"-","")

Lưu ý một điều, khi tạo công thức cho các Name như ở trên đây, bạn phải chắc chắn rằng bạn đang chọn một ô nào đó ở hàng 9.
 
Không biết em có làm sai cái gì không mà sao khi chỉnh sửa công thức nó bị như vầy ,, em không biết cách sửa , nhờ mọi người
IF(FindVH, "", MID($C9, FIND("VH",$C9)+2, IF(FindChr10, LEN(TRIM($C9))FIND("VH", $C9)1, FIND(" ",$C9,FIND("VH",$C9))FIND("VH",$C9)1)))
nó không chạy công thức ,,,, hichic

domfootwear: Lần sau bạn nên viết Tiếng Việt có dấu và không sử dụng từ chát chít nhé.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Không biết em có làm sai cái gì không mà sao khi chỉnh sửa công thức nó bị như vầy ,, em không biết cách sửa , nhờ mọi người
IF(FindVH, "", MID($C9, FIND("VH",$C9)+2, IF(FindChr10, LEN(TRIM($C9))FIND("VH", $C9)1, FIND(" ",$C9,FIND("VH",$C9))FIND("VH",$C9)1)))
nó không chạy công thức ,,,, hichic

domfootwear: Lần sau bạn nên viết Tiếng Việt có dấu và không sử dụng từ chát chít nhé.

Bạn có xem kỹ bài số #35 của anh BNTT chưa?
-Bạn phải đặt name cho nó

FindChr10 =ISERROR(FIND(" ", $C9, FIND("VH", $C9)))

FindVH =ISERROR(FIND("VH", $C9))

MaHang =IF(FindVH, "", MID($C9, FIND("VH",$C9)+2, IF(FindChr10, LEN(TRIM($C9))-FIND("VH", $C9)-1, FIND(" ",$C9,FIND("VH",$C9))-FIND("VH",$C9)-1)))


Và ở cột mã hàng, dùng công thức này: =SUBSTITUTE(MaHang,"-","")

 
Không biết em có làm sai cái gì không mà sao khi chỉnh sửa công thức nó bị như vầy ,, em không biết cách sửa , nhờ mọi người
IF(FindVH, "", MID($C9, FIND("VH",$C9)+2, IF(FindChr10, LEN(TRIM($C9))FIND("VH", $C9)1, FIND(" ",$C9,FIND("VH",$C9))FIND("VH",$C9)1)))
nó không chạy công thức ,,,, hichic

domfootwear: Lần sau bạn nên viết Tiếng Việt có dấu và không sử dụng từ chát chít nhé.
Có lẽ khi tạo Name, bạn không để ý cái chuyện này:
Lưu ý một điều, khi tạo công thức cho các Name như ở trên đây, bạn phải chắc chắn rằng bạn đang chọn một ô nào đó ở hàng 9.
Nghĩa là, nếu trong công thức, bạn dùng C9, thì phải đang chọn một ô nào đó ở hàng thứ 9, nếu trong công thức, bạn dùng C17, thì phải đang chọn một ô nào đó ở hàng thứ 17, v.v...
 
Rồi ,, em làm như mọi người rồi ,, nhưng nó báo em làm sai ,, xin mọi người xem giúp em ah ,, em xin chân thành cảm ơn mọi người,, và sẽ lưu ý những gì mọi người nói,, xin cảm ơn,,
không biết là làm sai chỗ nào nữa hichichic...
 

File đính kèm

Rồi ,, em làm như mọi người rồi ,, nhưng nó báo em làm sai ,, xin mọi người xem giúp em ah ,, em xin chân thành cảm ơn mọi người,, và sẽ lưu ý những gì mọi người nói,, xin cảm ơn,,
không biết là làm sai chỗ nào nữa hichichic...
Name FindChr10 của bạn sai, một tí ti thôi, bạn xem nì:

Của tôi:
=ISERROR(FIND(" ",$C9,FIND("VH",$C9)))​
Của bạn:
=ISERROR(FIND("",$C9,FIND("VH",$C9)))
Cả cái ni cũng rứa:

Của tôi:
=IF(FindVH,"",MID($C9,FIND("VH",$C9)+2,IF(FindChr10,LEN(TRIM($C9))-FIND("VH",$C9)-1,FIND(" ",$C9,FIND("VH",$C9))-FIND("VH",$C$9)-1)))​
Của bạn:
=IF(FindVH,"",MID($C9,FIND("VH",$C9)+2,IF(FindChr10,LEN(TRIM($C9))-FIND("VH",$C9)-1,FIND("",$C9,FIND("VH",$C9))-FIND("VH",$C$9)-1)))​
Bạn chộ ra chỗ bị sai khôn?
 
Web KT

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

Back
Top Bottom