Tách số trong một chuỗi

Mình cần tách các số trong một chuỗi 1,2,6,11,13 ra thành các số riêng lẻ 1 2 6 11 13 để dùng hàm Hlookup. Tách các số riêng lẻ chứ ko phải ngăn cách bằng space đâu ạ. Ai biết giúp mình với.
 
Mình cần tách các số trong một chuỗi 1,2,6,11,13 ra thành các số riêng lẻ 1 2 6 11 13 để dùng hàm Hlookup. Tách các số riêng lẻ chứ ko phải ngăn cách bằng space đâu ạ. Ai biết giúp mình với.
Tách sao bạn nhỉ. Kiểu ABC123XYZ giờ bạn muốn tách số 123 ra hả?
 
Thông thường những hàm để tách chuỗi gồm có hàm left, right hoặc mid nhé. Sử dụng hàm nào để tách và như thế nào thì phụ thuộc vào nhu cầu của bạn để dùng. Để biết cách dùng bạn vào google tìm hiểu thêm. Chúc bạn dùng tốt.
 
Mình cần tách các số trong một chuỗi 1,2,6,11,13 ra thành các số riêng lẻ 1 2 6 11 13 để dùng hàm Hlookup. Tách các số riêng lẻ chứ ko phải ngăn cách bằng space đâu ạ. Ai biết giúp mình với.
Định viết đoạn code VBA nhưng thấy dùng hàm có thể tách được (theo file đính kèm)
Bước 1: Tìm vị trí các dấu phẩy bằng hàm:
=IF(IFERROR(FIND(",",$A$3,A2+1),LEN($A$3)+1)=A2,0,IFERROR(FIND(",",$A$3,A2+1),LEN($A$3)+1))
Bước 2: Căn cứ vào vị trí dấu phẩy tách số:
=IF(B2=0,"",VALUE(MID($A$3,A2+1,B2-1-A2)))
 

Đính kèm

Định viết đoạn code VBA nhưng thấy dùng hàm có thể tách được (theo file đính kèm)
Bước 1: Tìm vị trí các dấu phẩy bằng hàm:
=IF(IFERROR(FIND(",",$A$3,A2+1),LEN($A$3)+1)=A2,0,IFERROR(FIND(",",$A$3,A2+1),LEN($A$3)+1))
Bước 2: Căn cứ vào vị trí dấu phẩy tách số:
=IF(B2=0,"",VALUE(MID($A$3,A2+1,B2-1-A2)))
Hay quá bác ơi. Bác viết luôn VBA cho anh em tham khảo luôn
 
Dear các bác,
Phiền các bác xử lý giúp em vấn đề này!
Hiện tại em đang cần tách số ra khỏi 1 chuỗi kí tự, ví dụ:
Duc123456 --> Em muốn tách ra chỉ còn: 123456
Vấn đề là chuỗi kí tự này như sau:
- Gồm phần chữ và số. Phần số ở sau phần chữ
- Tuy nhiên số lượng số ở sau phần chữ không giống nhau, lúc là 9 số, lúc là 12 số nên em không dùng hàm Right cho toàn bộ cột được
Rất mong nhận được sự trợ giúp của các bác :)
 
Dear các bác,
Phiền các bác xử lý giúp em vấn đề này!
Hiện tại em đang cần tách số ra khỏi 1 chuỗi kí tự, ví dụ:
Duc123456 --> Em muốn tách ra chỉ còn: 123456
Vấn đề là chuỗi kí tự này như sau:
- Gồm phần chữ và số. Phần số ở sau phần chữ
- Tuy nhiên số lượng số ở sau phần chữ không giống nhau, lúc là 9 số, lúc là 12 số nên em không dùng hàm Right cho toàn bộ cột được
Rất mong nhận được sự trợ giúp của các bác :)
Thế số lượng ký tự của phần text có giống nhau không?
 
Dear các bác,
Phiền các bác xử lý giúp em vấn đề này!
Hiện tại em đang cần tách số ra khỏi 1 chuỗi kí tự, ví dụ:
Duc123456 --> Em muốn tách ra chỉ còn: 123456
Vấn đề là chuỗi kí tự này như sau:
- Gồm phần chữ và số. Phần số ở sau phần chữ
- Tuy nhiên số lượng số ở sau phần chữ không giống nhau, lúc là 9 số, lúc là 12 số nên em không dùng hàm Right cho toàn bộ cột được
Rất mong nhận được sự trợ giúp của các bác :)
Trường hợp nếu số ký tự text cố định là 03 ký tự thì dùng công thức: =MID(A1,4,LEN(A1)-3)
Trường hợp nếu số ký tự text không cố định thì dùng công thức:
=IF(ISNUMBER(VALUE(MID(A1,1,1))),A1,IF(ISNUMBER(VALUE(MID(A1,2,1))),MID(A1,2,LEN(A1)-1),IF(ISNUMBER(VALUE(MID(A1,3,1))),MID(A1,3,LEN(A1)-2),IF(ISNUMBER(VALUE(MID(A1,4,1))),MID(A1,4,LEN(A1)-3),IF(ISNUMBER(VALUE(MID(A1,5,1))),MID(A1,5,LEN(A1)-4),IF(ISNUMBER(VALUE(MID(A1,6,1))),MID(A1,6,LEN(A1)-5),IF(ISNUMBER(VALUE(MID(A1,7,1))),MID(A1,7,LEN(A1)-6),IF(ISNUMBER(VALUE(MID(A1,8,1))),MID(A1,8,LEN(A1)-7)))))))))
Công thức loàng ngoàng ở trên cho phép số ký tự dao động từ 0 đến 8 ký tự. Có thể mở rộng thêm
 
Trường hợp nếu số ký tự text cố định là 03 ký tự thì dùng công thức: =MID(A1,4,LEN(A1)-3)
Trường hợp nếu số ký tự text không cố định thì dùng công thức:
=IF(ISNUMBER(VALUE(MID(A1,1,1))),A1,IF(ISNUMBER(VALUE(MID(A1,2,1))),MID(A1,2,LEN(A1)-1),IF(ISNUMBER(VALUE(MID(A1,3,1))),MID(A1,3,LEN(A1)-2),IF(ISNUMBER(VALUE(MID(A1,4,1))),MID(A1,4,LEN(A1)-3),IF(ISNUMBER(VALUE(MID(A1,5,1))),MID(A1,5,LEN(A1)-4),IF(ISNUMBER(VALUE(MID(A1,6,1))),MID(A1,6,LEN(A1)-5),IF(ISNUMBER(VALUE(MID(A1,7,1))),MID(A1,7,LEN(A1)-6),IF(ISNUMBER(VALUE(MID(A1,8,1))),MID(A1,8,LEN(A1)-7)))))))))
Công thức loàng ngoàng ở trên cho phép số ký tự dao động từ 0 đến 8 ký tự. Có thể mở rộng thêm
Em kiểm tra thì số ký tự chữ 7 thôi bác ạ, 8 nó không chạy, phải thêm.
 
Mình cần tách các số trong một chuỗi 1,2,6,11,13 ra thành các số riêng lẻ 1 2 6 11 13 để dùng hàm Hlookup. Tách các số riêng lẻ chứ ko phải ngăn cách bằng space đâu ạ. Ai biết giúp mình với.
Nếu là chuỗi như thế này 1,2,6,11,13.
Thì dùng Text to Columns có sẳn trong Excel vừa nhanh lẹ lại dễ dàng, cách thực hiện như sau:
Chọn vùng dữ liệu cần tách, vào Data > Text to Columns cửa sổ Convert Wizard - Step 1 of 3 hiện ra, chọn Delimited rồi nhấn Next, cửa sổ Convert Wizard - Step 2 of 3 hiện ra, chọn Other khung bên phải gõ dấu phẩy (như dấy phân cách trong chuỗi) rồi nhấn Finish.

Lưu ý: Khi dùng Text to Columns nó sẽ ghi đè một số cột bên phải, vì vậy nên Copy riêng ra 1 cột trống để thực hiện.
 
Back
Top