Tách chuỗi phức tạp dựa vào ký tự "-" (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

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

[TABLE="class: yiv5021081736MsoNormalTable, width: 459"]
[TR]
[TD="width: 148"]Day&line&Job[/TD]
[TD="width: 100"]DAY[/TD]
[TD="width: 111"]LINE[/TD]
[TD="width: 100"]Job[/TD]
[/TR]
[TR]
[TD="width: 148"]10-A1-DW1[/TD]
[TD="width: 100"]10[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]1-B2-A-ID2[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]B2-A[/TD]
[TD="width: 100"]ID2[/TD]
[/TR]
[TR]
[TD="width: 148"]9-B2-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]B2-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]31-KHOMINI-ID[/TD]
[TD="width: 100"]31[/TD]
[TD="width: 111"]KHOMINI[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]1-25-1-DW[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]25-1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]11-C1-ID[/TD]
[TD="width: 100"]11[/TD]
[TD="width: 111"]C1[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]5-A1-DW[/TD]
[TD="width: 100"]5[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]6-D1-A-DW1[/TD]
[TD="width: 100"]6[/TD]
[TD="width: 111"]D1-A[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]9-D1-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]D1-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]15-PHUKIEN-ID[/TD]
[TD="width: 100"]15[/TD]
[TD="width: 111"]PHUKIEN[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]22-ACC-DW[/TD]
[TD="width: 100"]22[/TD]
[TD="width: 111"]ACC[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-A-DW2[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-A[/TD]
[TD="width: 100"]DW2[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-B-DW1[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[/TABLE]
 
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

[TABLE="class: yiv5021081736MsoNormalTable, width: 459"]
[TR]
[TD="width: 148"]Day&line&Job[/TD]
[TD="width: 100"]DAY[/TD]
[TD="width: 111"]LINE[/TD]
[TD="width: 100"]Job[/TD]
[/TR]
[TR]
[TD="width: 148"]10-A1-DW1[/TD]
[TD="width: 100"]10[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]1-B2-A-ID2[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]B2-A[/TD]
[TD="width: 100"]ID2[/TD]
[/TR]
[TR]
[TD="width: 148"]9-B2-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]B2-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]31-KHOMINI-ID[/TD]
[TD="width: 100"]31[/TD]
[TD="width: 111"]KHOMINI[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]1-25-1-DW[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]25-1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]11-C1-ID[/TD]
[TD="width: 100"]11[/TD]
[TD="width: 111"]C1[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]5-A1-DW[/TD]
[TD="width: 100"]5[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]6-D1-A-DW1[/TD]
[TD="width: 100"]6[/TD]
[TD="width: 111"]D1-A[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]9-D1-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]D1-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]15-PHUKIEN-ID[/TD]
[TD="width: 100"]15[/TD]
[TD="width: 111"]PHUKIEN[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]22-ACC-DW[/TD]
[TD="width: 100"]22[/TD]
[TD="width: 111"]ACC[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-A-DW2[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-A[/TD]
[TD="width: 100"]DW2[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-B-DW1[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[/TABLE]

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

[TABLE="class: yiv5021081736MsoNormalTable, width: 459"]
[TR]
[TD="width: 148"]Day&line&Job[/TD]
[TD="width: 100"]DAY[/TD]
[TD="width: 111"]LINE[/TD]
[TD="width: 100"]Job[/TD]
[/TR]
[TR]
[TD="width: 148"]10-A1-DW1[/TD]
[TD="width: 100"]10[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]1-B2-A-ID2[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]B2-A[/TD]
[TD="width: 100"]ID2[/TD]
[/TR]
[TR]
[TD="width: 148"]9-B2-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]B2-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]31-KHOMINI-ID[/TD]
[TD="width: 100"]31[/TD]
[TD="width: 111"]KHOMINI[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]1-25-1-DW[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]25-1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]11-C1-ID[/TD]
[TD="width: 100"]11[/TD]
[TD="width: 111"]C1[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]5-A1-DW[/TD]
[TD="width: 100"]5[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]6-D1-A-DW1[/TD]
[TD="width: 100"]6[/TD]
[TD="width: 111"]D1-A[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]9-D1-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]D1-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]15-PHUKIEN-ID[/TD]
[TD="width: 100"]15[/TD]
[TD="width: 111"]PHUKIEN[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]22-ACC-DW[/TD]
[TD="width: 100"]22[/TD]
[TD="width: 111"]ACC[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-A-DW2[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-A[/TD]
[TD="width: 100"]DW2[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-B-DW1[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[/TABLE]
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

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

[TABLE="class: yiv5021081736MsoNormalTable, width: 459"]
[TR]
[TD="width: 148"]Day&line&Job[/TD]
[TD="width: 100"]DAY[/TD]
[TD="width: 111"]LINE[/TD]
[TD="width: 100"]Job[/TD]
[/TR]
[TR]
[TD="width: 148"]10-A1-DW1[/TD]
[TD="width: 100"]10[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]1-B2-A-ID2[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]B2-A[/TD]
[TD="width: 100"]ID2[/TD]
[/TR]
[TR]
[TD="width: 148"]9-B2-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]B2-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]31-KHOMINI-ID[/TD]
[TD="width: 100"]31[/TD]
[TD="width: 111"]KHOMINI[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]1-25-1-DW[/TD]
[TD="width: 100"]1[/TD]
[TD="width: 111"]25-1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]11-C1-ID[/TD]
[TD="width: 100"]11[/TD]
[TD="width: 111"]C1[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]5-A1-DW[/TD]
[TD="width: 100"]5[/TD]
[TD="width: 111"]A1[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]6-D1-A-DW1[/TD]
[TD="width: 100"]6[/TD]
[TD="width: 111"]D1-A[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]9-D1-B-DW1[/TD]
[TD="width: 100"]9[/TD]
[TD="width: 111"]D1-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[TR]
[TD="width: 148"]15-PHUKIEN-ID[/TD]
[TD="width: 100"]15[/TD]
[TD="width: 111"]PHUKIEN[/TD]
[TD="width: 100"]ID[/TD]
[/TR]
[TR]
[TD="width: 148"]22-ACC-DW[/TD]
[TD="width: 100"]22[/TD]
[TD="width: 111"]ACC[/TD]
[TD="width: 100"]DW[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-A-DW2[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-A[/TD]
[TD="width: 100"]DW2[/TD]
[/TR]
[TR]
[TD="width: 148"]20-A5-B-DW1[/TD]
[TD="width: 100"]20[/TD]
[TD="width: 111"]A5-B[/TD]
[TD="width: 100"]DW1[/TD]
[/TR]
[/TABLE]
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

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

Back
Top Bottom