Tách dữ liệu với chuổi dài

Liên hệ QC

minhhangg

Thành viên hoạt động
Tham gia
4/5/11
Bài viết
197
Được thích
61
Em có vấn đề này rất khó khăn mong anh chị giúp dùm em, tách dữ liệu ra ( có khi dữ liệu dài, có khi ngắn). Mời anh chị xem file dùm em. E cảm ơn nhiều.
 

File đính kèm

em có vấn đề này rất khó khăn mong anh chị giúp dùm em, tách dữ liệu ra ( có khi dữ liệu dài, có khi ngắn). Mời anh chị xem file dùm em. E cảm ơn nhiều.
e11=substitute(mid($d$11,search("ba đình",$d$11,1),7),mid($d$11,search("ba đình",$d$11,1),7),h12)


substitute(mid($d$11,search("ba đình",$d$11,1),7),mid($d$11,search("ba đình",$d$11,1),7),h12)
mid($d$11,search("ba đình",$d$11,1),7) là lấy chữ BA Đình
substitute(...) thay chữ ba đình bằng nhữ dãy chữ ở H12, H13, H14,,,,
với H12 = Phú Nhuận
với H13 = Bình Thạnh
với H14 = Tân Phú
 
Lần chỉnh sửa cuối:
Giả sử:

D11 = NẮNG BA ĐÌNH RỰC RỠ

E11 = BA ĐÌNH

F11 = SÀI GÒN

Thì công thức sẽ là: [ =SUBSTITUTE(D11,E11,F11) ]

Kết quả sẽ là: = NẮNG SÀI GÒN RỰC RỠ
 
e11=substitute(mid($d$11,search("ba đình",$d$11,1),7),mid($d$11,search("ba đình",$d$11,1),7),h12)


substitute(mid($d$11,search("ba đình",$d$11,1),7),mid($d$11,search("ba đình",$d$11,1),7),h12)
mid($d$11,search("ba đình",$d$11,1),7) là lấy chữ BA Đình
substitute(...) thay chữ ba đình bằng nhữ dãy chữ ở H12, H13, H14,,,,
với H12 = Phú Nhuận
với H13 = Bình Thạnh
với H14 = Tân Phú

Gì mà MID, mà SEARCH ... tùm lum tùm la vậy em trai? Nguyên câu văn đầy nhóc chữ BA ĐÌNH cũng được thay thế hết trơn đó chứ!
 
Em nghỉ các đồng chí hiểu nhầm ý tác giả rồi, Theo em tác giả muốn lấy chuỗi "Ba Đình" trong chuỗi "Quận Ba Đình" và thay "Ba Đình" thành "Phú Nhuận", "Bình Thạnh", "Tân Bình".... tức là thay trong cái "Quận Ba Đình" thành "Quận Phú Nhuận", "Quận Bình Thạnh"...rồi tách cái "Phú Nhuận, Bình Thạnh ...ra khỏi chuỗi.
Nếu luôn là "Quận......" thì em xin đưa ra giải pháp này :
Công thức trong E11 :
=RIGHT(D11;LEN(D11)-SEARCH("n";D11))
Thân!
 
Lần chỉnh sửa cuối:
Em nghỉ các đồng chí hiểu nhầm ý tác giả rồi, Theo em tác giả muốn lấy chuỗi "Ba Đình" trong chuỗi "Quận Ba Đình" và thay "Ba Đình" thành "Phú Nhuận", "Bình Thạnh", "Tân Bình".... tức là thay trong cái "Quận Ba Đình" thành "Quận Phú Nhuận", "Quận Bình Thạnh"...rồi tách cái "Phú Nhuận, Bình Thạnh ...ra khỏi chuỗi.
Nếu luôn là "Quận......" thì em xin đưa ra giải pháp này :
Công thức trong E11 :
=RIGHT(D11;LEN(D11)-SEARCH("n";D11))
Thân!
Nếu luôn là QUẬN... gì gì đó thì thêm 2 cách này nữa nè:
=MID(D11;FIND(" ";D11)+1;30)
=SUBSTITUTE(D11;"QUẬN ";"")
 
Chẳng hiểu tác giả nói như thế nào, dễ gây nhầm lẫn quá! Giờ gửi cái File lên, đúng trật gì cũng cho ý kiến nhé đồng chí tác giả!
 

File đính kèm

Chẳng hiểu tác giả nói như thế nào, dễ gây nhầm lẫn quá! Giờ gửi cái File lên, đúng trật gì cũng cho ý kiến nhé đồng chí tác giả!
Hôm nay minhthien321 siêng thật đó, đồng chí tác giả (có lẽ là nữ đ/c) đã đi ... đâu đó rồi.
Tạm hiểu là thay Ba Đình bằng Sài Gòn đi.
"Nắng Sài Gòn em đi mà chợt mát"...
Khỏi chờ em anh ếch ơi!
 
Hình như anh minhthien321 không đọc câu này của tác giả :
VD: Tui có dữ liêu ở ô D11 và muốn tách lấy chữ BA ĐÌNH ra tại E11 và thay Chữ BA ĐÌNH bất kỳ thì lấy 2 dữ liệu cuối ra
Tức là sẽ phải như thế này chứ ạ! Mà sao tác giả chạy đâu mất rồi!! Hehe!
 

File đính kèm

  • untitled6.JPG
    untitled6.JPG
    142.5 KB · Đọc: 69
Nếu luôn là QUẬN... gì gì đó thì thêm 2 cách này nữa nè:
=MID(D11;FIND(" ";D11)+1;30)
=SUBSTITUTE(D11;"QUẬN ";"")
Trước hết cảm ơn các anh, chị, nhiều lắm. Công thức BaTe đúng ý em rồi. Em cảm ơn các anh, chị 1 lần nữa. Cảm ơn.
 
Nhân đây mình cũng xin các bạn giúp cho một bài dạng như thế này, hy vọng mọi người hướng dẫn. Xin cảm ơn.
 

File đính kèm

Họ=LEFT(B3,FIND(" ",B3,1))
Tên Đệm =MID(B3,LEN(C3),LEN(B3)-LEN(C3&E3))
Tên=TRIM(RIGHT(SUBSTITUTE(TRIM(B3)," ",REPT(" ",255)),255))
 
cảm ơn anh Phi, tôi xin hỏi thêm là mình có thể dùng cách khác để tách phần tên không, công thức anh làm thấy hơi dài, hơn nữa tôi chưa sử dụng các hàm SUBSTITUTE, TRIM, REPT nên không hiểu cách áp dụng. một lần nữa cảm ơn anh.
 
cảm ơn anh Phi, tôi xin hỏi thêm là mình có thể dùng cách khác để tách phần tên không, công thức anh làm thấy hơi dài, hơn nữa tôi chưa sử dụng các hàm SUBSTITUTE, TRIM, REPT nên không hiểu cách áp dụng. một lần nữa cảm ơn anh.
Nếu không dùng những hàm trên theo Phi thì hình như không còn cách nào dễ hiểu hơn. Trừ trường hợp dùng công cụ sẵn có của Ex là Text to Column. Không thì viết code.
 
cảm ơn thunghi, mình sẽ tìm hiểu những hàm mới này để cỏ thể áp dụng cho các trường hợp khác. chúc bạn vui!
 
Bạn có thể tham khảo các hàm đó trong mục EXCEL 2007 - 2010 các bài tập tham khảo của tui có những hàm đó, chúc bạn làm bài tập tốt
 
Gửi anh Phi!
tôi đã nghiên cứu các hàm anh sử dụng trong bai tập tôi gửi về cách tách tên họ và tên đệm. sau đây tôi xin hỏi anh thêm một chút:
thứ nhất là phần tách tên anh đã làm trước và mới tách tên đệm, bây giờ tôi muốn chỉ tách tên đệm thôi, không cần tách tên thì mình nên dùng hàm như thế nào?
thứ hai là tôi không hiểu trong phần tìm tên anh dùng: trim(right(substitute((B3),"",rept("",225)),225)). tôi dùng cách thử =F9 thì thấy đoạn substitute((B3),"",rept("",225)) báo lỗi!?
tôi hiểu tác dụng từng hàm nhưng ứng dụng lồng ghép như trường hợp này thì không hiểu, mong anh giải thích thêm. xin cảm ơn.
vì sao LEN(substitute(trim(b3),"",repf("",225))=524
nhưng RIGHT((substitute(trim(b3),"",rept("",225)),225)="HUNG" vì theo tôi hiểu phải là RIGHT((substitute(trim(b3),"",repf("",225)),225+LEN(HUNG)) chứ.
 
Lần chỉnh sửa cuối:
Gửi anh Phi!
tôi đã nghiên cứu các hàm anh sử dụng trong bai tập tôi gửi về cách tách tên họ và tên đệm. sau đây tôi xin hỏi anh thêm một chút:
thứ nhất là phần tách tên anh đã làm trước và mới tách tên đệm, bây giờ tôi muốn chỉ tách tên đệm thôi, không cần tách tên thì mình nên dùng hàm như thế nào?
thứ hai là tôi không hiểu trong phần tìm tên anh dùng: trim(right(substitute((B3),"",rept("",225)),225)). tôi dùng cách thử =F9 thì thấy đoạn substitute((B3),"",rept("",225)) báo lỗi!?
tôi hiểu tác dụng từng hàm nhưng ứng dụng lồng ghép như trường hợp này thì không hiểu, mong anh giải thích thêm. xin cảm ơn.

Vì 255 quá dài nên công thức báo lỗi khi hiện thị trên Formula bar, bạn thay công thức sau cho chuẩn hơn
=TRIM(RIGHT(SUBSTITUTE(B3," ",REPT(" ",LEN(B3))),LEN(B3)))
Và giờ có thể dùng F9 để xem từng thành phần
 
Gửi anh Phi!
thứ nhất là phần tách tên anh đã làm trước và mới tách tên đệm, bây giờ tôi muốn chỉ tách tên đệm thôi, không cần tách tên thì mình nên dùng hàm như thế nào?
.
Câu này trên diễn đàn đã có, bạn search sẽ được câu trả lời
vì sao LEN(substitute(trim(b3),"",repf("",225))=524
Cell [B3] có giá trị "nguyen manh hung" ==> 16 ký tự, thay 2 ký tự " " bằng 255*2=510 ký tự + 14 ký tự còn lại =524 ký tự là đúng zồi (255 chứ không phải 225 nhé bạn), không hiểu sao lại dùng số 255, nếu trong danh sách của bạn chắc chắn không có tên Ả Rập, Thái Lan, Mỹ..........tức là toàn Việt thì bạn dùng số 8 là đủ, còn không bạn sử dụng hàm Len(B3) để xác định số này
nhưng RIGHT((substitute(trim(b3),"",rept("",225)),225)="HUNG" vì theo tôi hiểu phải là RIGHT((substitute(trim(b3),"",repf("",225)),225+LEN(HUNG)) chứ
Lúc này 255 ký tự bên phải là 251 ký tự " " và 4 ký tự là "hung" ==> Trim() nó đi thì còn "hung" là đúng zồi
Híc. Khó hiểu thật
Thân
 
Web KT

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

Back
Top Bottom