Tách chuỗi xen kẽ

Liên hệ QC

nkthang

Thành viên mới
Tham gia
6/1/17
Bài viết
7
Được thích
0
e có chuỗi gốc như sau:

20(1)40H(1)40(2) : e muốn tách ra thành các cột có giá trị: 20, 1, 40H,1, 40, 2

20(1)40(1): tách thành 20,1,40,1

Các chuỗi gốc có độ dài không xác định,

Các Anh/Chị hướng dẫn giúp e hàm nào để tách riêng các giáo trị ra như vậy được ạ ?
 
Lần chỉnh sửa cuối:
Theo logic thì kết quả phía trên phải là: 20, 1, 40H, 1, 40, 2
mới đúng chứ nhỉ?
 
1. Replace "(" và ")" thành "-"
2. Dùng công thức với các hàm Mid, Len, Subtitle, Seach/Find để lấy dữ liệu cần thiết nhé!
 
Mình hay làm như vầy :
1/ Replace "(" và ")" thành ","
2/ Dùng hàm split trong VBA để tách lấy ra các thành phần
Function SPLIT4U(t_text, t_dau As String, t_stt As Integer)
SPLIT4U = Split(t_text, t_dau)(t_stt - 1)
End Function
khi đó bạn viết hàm trên excel như sau :
=split4u("20, 1, 40H, 1, 40, 2",",",1) => 20
=split4u("20, 1, 40H, 1, 40, 2",",",2) => 1
=split4u("20, 1, 40H, 1, 40, 2",",",3) => 40H
......
 
Mình hay làm như vầy :
1/ Replace "(" và ")" thành ","
2/ Dùng hàm split trong VBA để tách lấy ra các thành phần
Function SPLIT4U(t_text, t_dau As String, t_stt As Integer)
SPLIT4U = Split(t_text, t_dau)(t_stt - 1)
End Function
khi đó bạn viết hàm trên excel như sau :
=split4u("20, 1, 40H, 1, 40, 2",",",1) => 20
=split4u("20, 1, 40H, 1, 40, 2",",",2) => 1
=split4u("20, 1, 40H, 1, 40, 2",",",3) => 40H
......
dạ e cảm ơna nhiều ạh
 
Giả sử dữ liệu nằm tài ô A1, ô B1 gõ công thức như sau:
Mã:
=TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"(",")"),")", REPT(" ",50)), (COLUMN(A1)-1)*50+1,50))
Copy công thức sang các ô C1 tới G1.
 
Web KT
Back
Top Bottom