Giúp mình cách đánh dấu giữa các chữ số với

Liên hệ QC

giaoviennhandan

Thành viên mới
Tham gia
9/10/09
Bài viết
1
Được thích
0
Mình có một dãy mã số khách hàng VD 2154798632541236
Mình muốn đặt dấu cách giữa 3 số một như sau:
215-479-863-254-123-6
Bạn nào có thể giúp mình một công cụ hay lệnh nào đó không? cảm ơn các bạn nhiều
 
Mình có một dãy mã số khách hàng VD 2154798632541236
Mình muốn đặt dấu cách giữa 3 số một như sau:
215-479-863-254-123-6
Bạn nào có thể giúp mình một công cụ hay lệnh nào đó không? cảm ơn các bạn nhiều

Trường hợp tương tự ở link sau: http://www.giaiphapexcel.com/forum/showthread.php?39835-Chuyển-đổi-định-dạng-cho-dữ-liệu-thêm-và-bớt-định-dạng-vào-cell
Trong đó Code của bác NDU, bạn có thể sửa lại thành:
PHP:
Public Function RepText(Text As String) As String
  Dim i As Long
  On Error Resume Next
  For i = Len(Text) - 1 + (Len(Text) Mod 2) To 1 Step -2
    RepText = Mid(Text, i, 3) & "-" & RepText
  Next
  RepText = Mid(RepText, 1, Len(RepText) - 1)
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
Trường hợp tương tự ở link sau: http://www.giaiphapexcel.com/forum/showthread.php?39835-Chuyển-đổi-định-dạng-cho-dữ-liệu-thêm-và-bớt-định-dạng-vào-cell
Trong đó Code của bác NDU, bạn có thể sửa lại thành:
PHP:
Public Function RepText(Text As String) As String
PHP:
[COLOR=blue]Dim i As Long[/COLOR]
[COLOR=blue]On Error Resume Next[/COLOR]
[COLOR=blue]For i = Len(Text) - 1 + (Len(Text) Mod 2) To 1 Step -2[/COLOR]
[COLOR=blue]RepText = Mid(Text, i, 3) & "-" & RepText[/COLOR]
[COLOR=blue]Next[/COLOR]
[COLOR=blue]RepText = Mid(RepText, 1, Len(RepText) - 1)[/COLOR]
[COLOR=blue]End Function[/COLOR]
Híc, thêm một bạn nữa muốn lao vào con đường đau khổ đây, hoan hô bằng 2 tay
Bạn sửa code lại đi vì kết quả chưa đúng đâu
Lâu quá chưa xì-pam
Thân
 
Upvote 0
Híc, thêm một bạn nữa muốn lao vào con đường đau khổ đây, hoan hô bằng 2 tay
Bạn sửa code lại đi vì kết quả chưa đúng đâu
Lâu quá chưa xì-pam
Thân

Chưa đúng chỗ nào Bác Già ? Chỉ Em đê.ê...
Chẳng biết đường nào mà lần nữa...
 
Lần chỉnh sửa cuối:
Upvote 0
Híc, thêm một bạn nữa muốn lao vào con đường đau khổ đây, hoan hô bằng 2 tay
Bạn sửa code lại đi vì kết quả chưa đúng đâu
Lâu quá chưa xì-pam
Thân
Em thấy kết quả đúng rồi mà Anh?
Nếu là số thì nó sẽ thêm vào - và 1 số cuối nữa. Vậy sửa lại như sau:
Mã:
Public Function RepText(Text As String) As String
  Dim i As Long
  On Error Resume Next
  For i = Len(Text) - 1 + (Len(Text) Mod 2) To 1 Step -2
    RepText = Mid(Text, i, 3) & "-" & RepText
  Next
  RepText = Mid(RepText, 1, Len(RepText) [COLOR=Red]- 3[/COLOR])
End Function
sửa số -1 thành -3
 
Lần chỉnh sửa cuối:
Upvote 0
Em thấy kết quả đúng rồi mà Anh?
Nếu là số thì nó sẽ thêm vào - và 1 số cuối nữa. Vậy sửa lại như sau:
Mã:
Public Function RepText(Text As String) As String
Dim i As Long
On Error Resume Next
For i = Len(Text) - 1 + (Len(Text) Mod 2) To 1 Step -2
RepText = Mid(Text, i, 3) & "-" & RepText
Next
RepText = Mid(RepText, 1, Len(RepText) [COLOR=red]- 3[/COLOR])
End Function
sửa số -1 thành -3
Híc, thử xem cái này
Bài trước : số ký tự xác định và là số chẵn, bài này khác nhiều chứ 2 bạn
Thân
 

File đính kèm

Upvote 0
Chưa đúng chỗ nào Bác Già ? Chỉ Em đê.ê...
Chẳng biết đường nào mà lần nữa...
Kia người ta tách 2 ký tự nên Mod 2, cái này tách 3 cơ mà ---> Mod 3 chứ
Vầy nè
PHP:
Function RepText(Text As String) As String
  Dim i As Long, st As Long
  On Error Resume Next
  Text = Replace(Text, " ", "")
  st = (Len(Text) - 1) Mod 3
  For i = Len(Text) - st To 1 Step -3
    RepText = Mid(Text, i, 3) & " " & RepText
  Next
  RepText = Replace(Trim(RepText), " ", "-")
End Function
Code của anh concogia chưa bẫy lỗi nha
Còn code MinhCong thì chưa chính xác
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình có một dãy mã số khách hàng VD 2154798632541236
Mình muốn đặt dấu cách giữa 3 số một như sau:
215-479-863-254-123-6
Bạn nào có thể giúp mình một công cụ hay lệnh nào đó không? cảm ơn các bạn nhiều

Nếu lập trình bằng thủ công thì bạn có thể dùng công thức này :
=CONCATENATE(LEFT(A1,3),"-",MID($A1,4,3),"-",MID($A1,7,3),"-",MID($A1,10,3),"-",MID($A1,13,3),"-",MID($A1,16,3))
(Giả sử chuỗi mã số khách hàng đó nằm ở cột A)
Điều kiện để áp dụng được công thức này là số chữ số trong chuỗi mã khách hàng của bạn là cố định, tức không có sự dài ngắn khác nhau, và các chuỗi này được hiểu ở dạng text, chứ không phải number.
 
Upvote 0
Định dạng mã số khách hàng

Nếu số chữ số trong mã số khách hàng luôn luôn là 16 số như trong ví dụ ban nãy, tôi sẽ làm như sau:
1- Chọn vùng sẽ gõ mã số KH
2- Format Cell/Custom, trong phần type gõ: 000-000-000-000-000-0
3- OK
Nếu số chữ số trong mã khách hàng ko cố định, tham khảo các ý kiến đã nêu, no comment.
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu số chữ số trong mã số khách hàng luôn luôn là 16 số như trong ví dụ ban nãy, tôi sẽ làm như sau:
1- Chọn vùng sẽ gõ mã số KH
2- Format Cell/Custom, trong phần type gõ: 000-000-000-000-000-0
3- OK
Nếu số chữ số trong mã khách hàng ko cố định, tham khảo các ý kiến đã nêu, no comment.

Cái này chỉ là hiển thị thôi bạn ơi còn trong cells vẫn là số như vậy
 
Upvote 0
Web KT

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

Back
Top Bottom