Mình cần giúp về hàm tách số trên excel

Liên hệ QC

Maloahn

Thành viên mới
Tham gia
5/11/10
Bài viết
31
Được thích
1
Nhờ mọi người giúp đỡ mình về việc tách số ra khỏi một chuỗi ký tự nhé. Ở đây mình chỉ tính đến trường hợp dãy số cần tách nằm bên phải chứ không nằm lộn xộn trong dãy ký tự. Cám ơn mọi người
 

File đính kèm

Nhờ mọi người giúp đỡ mình về việc tách số ra khỏi một chuỗi ký tự nhé. Ở đây mình chỉ tính đến trường hợp dãy số cần tách nằm bên phải chứ không nằm lộn xộn trong dãy ký tự. Cám ơn mọi người

Nếu quy luật vậy thì đơn giản là vầy:
=--RIGHT(A17,3)
 
]Nếu quy luật vậy thì đơn giản là vầy:
=--RIGHT(A17,3)[/QUOTE]
Hj, đơn giản vậy cũng đúng, bạn dat_butmuc nè, nếu như với trường hợp số nó không cố định là 3 để dùng right được (Ví dụ như tách ABC1234, ASC012, BCT23455 để ra kết quả lần lượt là 1234, 12, 23455) thì nên dùng thế nào. Giúp mình được không?
 
]Nếu quy luật vậy thì đơn giản là vầy:
=--RIGHT(A17,3)
Hj, đơn giản vậy cũng đúng, bạn dat_butmuc nè, nếu như với trường hợp số nó không cố định là 3 để dùng right được (Ví dụ như tách ABC1234, ASC012, BCT23455 để ra kết quả lần lượt là 1234, 12, 23455) thì nên dùng thế nào. Giúp mình được không?[/QUOTE]

Bạn tham khảo nha! Mình dùng hàm tự tạo đó
 

File đính kèm

Hj, đơn giản vậy cũng đúng, bạn dat_butmuc nè, nếu như với trường hợp số nó không cố định là 3 để dùng right được (Ví dụ như tách ABC1234, ASC012, BCT23455 để ra kết quả lần lượt là 1234, 12, 23455) thì nên dùng thế nào. Giúp mình được không?
Hỏi thêm cái này cho chắc: Nếu chuổi là 12BCT23455 thì kết quả là gì
Sở dĩ tôi hỏi vậy là vì với hàm tách số mà bạn Nguoiay đưa lên, nó sẽ ra kết quả = 1223455 đó nha (nhưng rất có thể bạn lại muốn kết quả = 23455)
 
bạn thử dùng đoạn code này xem:
Function ExtractNumber(rCell As Range)
Dim lCount As Long
Dim sText As String
Dim lNum As String
sText = rCell
For lCount = Len(sText) To 1 Step -1
If IsNumeric(Mid(sText, lCount, 1)) Then
lNum = Mid(sText, lCount, 1) & lNum
End If
Next lCount
ExtractNumber = CLng(lNum)
End Function
 
Mình tham gia hàm con con:

Mã:
Function OnlyNu(ch As String)
Dim i
For i = Len(ch) To 1 Step -1
If IsNumeric(Mid(ch, i, 1)) Then
OnlyNu = Mid(ch, i, 1) & OnlyNu
Else
Exit For
End If
Next
End Function
 
Hỏi thêm cái này cho chắc: Nếu chuổi là BCT23455 thì kết quả là gì
Sở dĩ tôi hỏi vậy là vì với hàm tách số mà bạn Nguoiay đưa lên, nó sẽ ra kết quả 1223455 đó nha (nhưng rất có thể bạn lại muốn kết quả = 23455)

Cảm ơn bạn, kết quả theo bạn người ấy đưa ra mình đã xem trên Diễn đàn và đã thấy có nhưng yêu cầu của mình không phải là tách một dãy số lẫn lộn cả ký tự và số như vậy. Trường hợp này mình đưa ra là dãy số nằm lệch hẳn về bên phải hoặc bên trái (BCT122345, ACT22456) chỉ có điều sẽ không thể tách được theo hàm right vì không cố định có bao nhiêu số.
 
Hỏi thêm cái này cho chắc: Nếu chuổi là BCT23455 thì kết quả là gì
Sở dĩ tôi hỏi vậy là vì với hàm tách số mà bạn Nguoiay đưa lên, nó sẽ ra kết quả 1223455 đó nha (nhưng rất có thể bạn lại muốn kết quả = 23455)

Cảm ơn bạn, kết quả theo bạn người ấy đưa ra mình đã xem trên Diễn đàn và đã thấy có nhưng yêu cầu của mình không phải là tách một dãy số lẫn lộn cả ký tự và số như vậy. Trường hợp này mình đưa ra là dãy số nằm lệch hẳn về bên phải hoặc bên trái (BCT122345, ACT22456) chỉ có điều sẽ không thể tách được theo hàm right vì không cố định có bao nhiêu số.
Với điều kiện cho trước như thế, công thức cũng làm được!
Giả sử dữ liệu của bạn bắt đầu từ dòng 1, vậy ta làm như sau:
- Đặt con trỏ chuột tại dòng 1
- Vào menu Insert\Name\Define, đặt 1 name có tên Ext, có Refers to: =IF(ISERROR(1*MID($A1,ROW(INDIRECT("1:"&LEN($A1))),1)),"",1)
- Tại cell B1, gõ công thức: =IF(COUNT(Ext)=0,"",1*RIGHT($A1,COUNT(Ext)))
Xem file
 

File đính kèm

Web KT

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

Back
Top Bottom