Tách chuỗi phức tạp dựa vào ký tự "-"

Liên hệ QC

kydang1989

Thành viên chính thức
Tham gia
17/10/14
Bài viết
63
Được thích
3
Cần công thức tách chuỗi (Day&line&Job) thành 3 cột:
Cột Day: Lấy tất cả ký tự nằm trước dấu gạch đầu tiên
Cột Line: Lấy tất cả ký tự nằm giữa dấu gạch đầu tiên và dấu gạch cuối cùng
Cột Job: Lấy tất cả ký tự nằm sau dấu gạch cuối cùng

Day&line&JobDAYLINEJob
10-A1-DW110A1DW1
1-B2-A-ID21B2-AID2
9-B2-B-DW19B2-BDW1
31-KHOMINI-ID31KHOMINIID
1-25-1-DW125-1DW
11-C1-ID11C1ID
5-A1-DW5A1DW
6-D1-A-DW16D1-ADW1
9-D1-B-DW19D1-BDW1
15-PHUKIEN-ID15PHUKIENID
22-ACC-DW22ACCDW
20-A5-A-DW220A5-ADW2
20-A5-B-DW120A5-BDW1
 
Lần chỉnh sửa cuối:
Cần công thức tách chuỗi (Day&line&Job) thành 3 cột:
Cột Day: Lấy tất cả ký tự nằm trước dấu gạch đầu tiên
Cột Line: Lấy tất cả ký tự nằm giữa dấu gạch đầu tiên và dấu gạch cuối cùng
Cột Job: Lấy tất cả ký tự nằm sau dấu gạch cuối cùng

Day&line&JobDAYLINEJob
10-A1-DW110A1DW1
1-B2-A-ID21B2-AID2
9-B2-B-DW19B2-BDW1
31-KHOMINI-ID31KHOMINIID
1-25-1-DW125-1DW
11-C1-ID11C1ID
5-A1-DW5A1DW
6-D1-A-DW16D1-ADW1
9-D1-B-DW19D1-BDW1
15-PHUKIEN-ID15PHUKIENID
22-ACC-DW22ACCDW
20-A5-A-DW220A5-ADW2
20-A5-B-DW120A5-BDW1

Nếu Dữ liệu là ô A3.
PHP:
B3=TRIM(LEFT(SUBSTITUTE(A3;"-";REPT(" ";100));100))
D3=TRIM(RIGHT(SUBSTITUTE(A3;"-";REPT(" ";100));100))
C3=MID(A3;LEN(B3)+2;LEN(A3)-(LEN(B3)+LEN(D3)+2))
 
Nếu Dữ liệu là ô A3.
PHP:
B3=TRIM(LEFT(SUBSTITUTE(A3;"-";REPT(" ";100));100))
D3=TRIM(RIGHT(SUBSTITUTE(A3;"-";REPT(" ";100));100))
C3=MID(A3;LEN(B3)+2;LEN(A3)-(LEN(B3)+LEN(D3)+2))

A ơi, ô D3 nó có rất nhiều khoảng trắng giống vầy nè:(khoang trang) DW1
 
Lần chỉnh sửa cuối:
Cần công thức tách chuỗi (Day&line&Job) thành 3 cột:
Cột Day: Lấy tất cả ký tự nằm trước dấu gạch đầu tiên
Cột Line: Lấy tất cả ký tự nằm giữa dấu gạch đầu tiên và dấu gạch cuối cùng
Cột Job: Lấy tất cả ký tự nằm sau dấu gạch cuối cùng

Day&line&JobDAYLINEJob
10-A1-DW110A1DW1
1-B2-A-ID21B2-AID2
9-B2-B-DW19B2-BDW1
31-KHOMINI-ID31KHOMINIID
1-25-1-DW125-1DW
11-C1-ID11C1ID
5-A1-DW5A1DW
6-D1-A-DW16D1-ADW1
9-D1-B-DW19D1-BDW1
15-PHUKIEN-ID15PHUKIENID
22-ACC-DW22ACCDW
20-A5-A-DW220A5-ADW2
20-A5-B-DW120A5-BDW1
Bạn xem File đính kèm ở dưới nhé, về cơ bản mình cũng làm từ cột 2 sau đó đếm cột 4 rồi mới tới cột 3 như của bác BaTe tuy nhiên bài của mình sử dụng công thức khác, coi như thêm một cách nữa cho bạn.
 

File đính kèm

  • tachchuoiphuctap.xlsx
    9.3 KB · Đọc: 42
Lần sau có hỏi bài thì đưa file lên nhé.
Nói khơi khơi đâu biết tại sao.

Em nghĩ lý do là bạn ấy copy công thức của thầy vô nhưng công thức bạn ấy xài dấu phẩy nên khi paste vô sẽ ra ký tự trắng không phải khoảng trắng.
 
Cần công thức tách chuỗi (Day&line&Job) thành 3 cột:
Cột Day: Lấy tất cả ký tự nằm trước dấu gạch đầu tiên
Cột Line: Lấy tất cả ký tự nằm giữa dấu gạch đầu tiên và dấu gạch cuối cùng
Cột Job: Lấy tất cả ký tự nằm sau dấu gạch cuối cùng

Day&line&JobDAYLINEJob
10-A1-DW110A1DW1
1-B2-A-ID21B2-AID2
9-B2-B-DW19B2-BDW1
31-KHOMINI-ID31KHOMINIID
1-25-1-DW125-1DW
11-C1-ID11C1ID
5-A1-DW5A1DW
6-D1-A-DW16D1-ADW1
9-D1-B-DW19D1-BDW1
15-PHUKIEN-ID15PHUKIENID
22-ACC-DW22ACCDW
20-A5-A-DW220A5-ADW2
20-A5-B-DW120A5-BDW1
Không cần công thức gì "ráo cả" hihi
Dùng Text to columns với phần Delimiters là Other: - rồi cứ Next/Finish là xong.
 
Không cần công thức gì "ráo cả" hihi
Dùng Text to columns với phần Delimiters là Other: - rồi cứ Next/Finish là xong.

Phần Delimiters nó dựa vào dấu "-" để tách, như vậy có những dòng nó sẽ tách thành 4 cột, có những dòng thành 3 cột.
 
Web KT
Back
Top Bottom