Xin hướng dẫn cách tách gộp văn bản (1 người xem)

Liên hệ QC

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

vutruonghainam

Thành viên chính thức
Tham gia
31/10/09
Bài viết
78
Được thích
0
Mình có số liệu như trên excel, bao gồm dòng tách và gộp:
- Ở phần tách, sau khi tách ra thì số mục số nhà tách riêng, tên đường tách riêng, phường chỉ còn số, quận cũng vậy, nếu tên quận có chữ thì để nguyên phần chữ
- Ở phần gộp thì tự động thêm chữ "Phường" và "Quận" sau dấu phẩy --=0

Có ai giúp mình được không ạ, đối với mình thấy khó quá ạ, mong các bạn giúp mình với nhé, mình chân thành cảm ơn--=0}}}}}
 

File đính kèm

có bác nào giúp em với ạ }}}}}}}}}}}}}}}}}}}}}}}}}
D7=LEFT(D3;SEARCH(" ";D3))
E7=MID(D3;SEARCH(" ";D3);SEARCH(",";D3)-SEARCH(" ";D3))
F7=MID(D3;SEARCH(", P";D3)+3;SEARCH(" ";MID(D3;SEARCH(", P";D3)+3;999))-2)
G7=LEFT(MID(D3;SEARCH(", Q";D3)+3;999);SEARCH(", ";MID(D3;SEARCH(", Q";D3)+3;999))-1)
H7=MID(MID(D3;SEARCH(", Q";D3)+4;999);SEARCH(", ";MID(D3;SEARCH(", Q";D3)+3;999));999)
D17=d13&" "&e13&", "&$f$12&" "&f13&", "&$g$12&" "&g13&", "&$h$12&" "&h13
 
Lần chỉnh sửa cuối:
em cảm ơn bác ạ, bác ơi, bác tạo cho em bằng vba được không ạ? làm cái này mệt quá :D
hình như công thức trên bị sai ở dòng g8, h8 ạ, em cop mãi mà không chạy :D
 
Lần chỉnh sửa cuối:
em cảm ơn bác ạ, bác ơi, bác tạo cho em bằng vba được không ạ? làm cái này mệt quá :D
hình như công thức trên bị sai ở dòng g8, h8 ạ, em cop mãi mà không chạy :D
200/20 Roadway, P9, QTân Bình, HCM
xin lỗi bạn nha. mình sửa Tân Bình thành Q Tân Bình
VBA bạn chờ người khác giúp đi, tui không biết
 
cảm ơn bác ạ, bác có thể giúp em thêm ở ô h8 g8 được không ạ
 
cảm ơn bác ạ, bác có thể giúp em thêm ở ô h8 g8 được không ạ

Tại G8
Mã:
=TRIM(SUBSTITUTE(MID(D4,FIND(",",D4,FIND(",",D4)+2),FIND(",",D4,FIND(",",D4,FIND(",",D4)+1)+1)-FIND(",",D4,FIND(",",D4)+2)),",",""))
Tại H8
Mã:
=TRIM(RIGHT(SUBSTITUTE(D4,",",REPT(" ",100)),LEN(D4)))
Đang vội nên chỉ kịp làm tạm, bạn tham khảo nhé.
 
Tại G8
Mã:
=TRIM(SUBSTITUTE(MID(D4,FIND(",",D4,FIND(",",D4)+2),FIND(",",D4,FIND(",",D4,FIND(",",D4)+1)+1)-FIND(",",D4,FIND(",",D4)+2)),",",""))
Tại H8
Mã:
=TRIM(RIGHT(SUBSTITUTE(D4,",",REPT(" ",100)),LEN(D4)))
Đang vội nên chỉ kịp làm tạm, bạn tham khảo nhé.
em cảm ơn bác nhiều, có một chút nho nhỏ nữa là em cop công thức từ cột H8 qua cột H7 thì nó hiện thêm chữ Q nữa, bác có thể giúp em một việc nữa được không ạ? tức là cái ô quận thì khi nào có số thì chỉ hiện số thôi, không hiện chữ Q, còn nếu tên quận là chữ thì để nguyên ạ, em cảm ơn bác nhiều :D
 
em cảm ơn bác nhiều, có một chút nho nhỏ nữa là em cop công thức từ cột h8 qua cột h7 thì nó hiện thêm chữ q nữa, bác có thể giúp em một việc nữa được không ạ? Tức là cái ô quận thì khi nào có số thì chỉ hiện số thôi, không hiện chữ q, còn nếu tên quận là chữ thì để nguyên ạ, em cảm ơn bác nhiều :d
Mã:
=iferror(--mid(d3,max(iferror(find(",",d3,row(indirect("1:"&len(d3)))),""))-1,1),trim(substitute(mid(d3,find(",",d3,find(",",d3)+2),find(",",d3,find(",",d3,find(",",d3)+1)+1)-find(",",d3,find(",",d3)+2)),",","")))
Kết thúc công thức bạn Ctrl+Shift+Enter. Tại G7 kéo xuống G8
Bạn nên thống nhất trong việc nhập cơ sở dữ liệu không thì về sau bạn còn phải sửa lại công thức nhiều. Nếu thống nhất được thì vừa đơn giản mà lại dễ làm
 
Lần chỉnh sửa cuối:
Mã:
=iferror(--mid(d3,max(iferror(find(",",d3,row(indirect("1:"&len(d3)))),""))-1,1),trim(substitute(mid(d3,find(",",d3,find(",",d3)+2),find(",",d3,find(",",d3,find(",",d3)+1)+1)-find(",",d3,find(",",d3)+2)),",","")))
Kết thúc công thức bạn Ctrl+Shift+Enter. Tại G7 kéo xuống G8
Bạn nên thống nhất trong việc nhập cơ sở dữ liệu không thì về sau bạn còn phải sửa lại công thức nhiều. Nếu thống nhất được thì vừa đơn giản mà lại dễ làm
em cảm ơn bác nhiều ạ, bác có thể làm giúp em ở cột phường với lại cột thành phố được không ạ?
 
em cảm ơn bác nhiều ạ, bác có thể làm giúp em ở cột phường với lại cột thành phố được không ạ?
Thành phố công thức ở trên là ổn rồi . Phường bạn muốn thế nào? Sao không nói luôn từ đầu đi bạn, đừng hỏi nhỏ giọt thế. Không ai theo mãi một đề tài được nếu hỏi ko rõ ràng.
 
Góp vui văn nghệ bằng 1 chút VBA cho file tách sang Sheet 2 vì file gộp thì dễ rồi
 

File đính kèm

Góp vui văn nghệ bằng 1 chút VBA cho file tách sang Sheet 2 vì file gộp thì dễ rồi
Tách nhỏ 2 lần là cách làm hay, cảm ơn bạn nhé
Khi tách ra 1 lần là cũng dễ làm rồi.
Mã:
Darr(k, 2) = Trim(Left(x(0), InStr(x(0), " ") - 1))
    Darr(k, 3) = Trim(Right(x(0), Len(x(0)) - InStr(x(0), " ")))
Tách 2 lại càng ổn hơn
 
Lần chỉnh sửa cuối:
Tách nhỏ 2 lần là cách làm hay, cảm ơn bạn nhé
Khi tách ra 1 lần là cũng dễ làm rồi.
Mã:
Darr(k, 2) = Trim(Left(x(0), InStr(x(0), " ") - 1))
    Darr(k, 3) = Trim(Right(x(0), Len(x(0)) - InStr(x(0), " ")))
Tách 2 lại càng ổn hơn

Hihi mình nghi là với kiểu gửi dữ liệu không phải dữ liệu thật và nhiều dòng còn nhiều tình huống có thể xảy ra. Nếu trả lời cứ tí một tí một thì đến mùa quýt sang năm. Cho nên góp vui tí chút rồi lặng lẽ chuồn cho nó lành.
 
hehe, em cảm ơn 2 bác đã giúp đỡ em rất là nhiều ạ :D
em chỉ cần cột Quận nếu có "Q.2 hoặc Quận 2 hoặc Quan 2 hoặc Q2" thì qua bên sheet 2 chỉ hiện số 2, còn nếu tên quận là chữ hoặc vừa chữ vừa số, ví dụ như "Tân Bình 2" thì qua bên sheet 2 sẽ là "Tân Bình 2" ạ, đối với Phường cũng vậy ạ
Em xin lỗi đã làm phiền 2 bác nhé :(
 
Nếu là Quan Hoa 2 thì tách thành Hoa 2 à??? Tốt nhất bạn gửi dữ liệu thật tầm 100 dòng lên đây ^^
 
Híc laptop ở nhà em vợ đang bảo dưõng hộ nên giờ vào bằng di động thấy file mà không tải được cứ thấy nao lòng . Hy vọng mai rỗi tranh thủ buổi trưa giúp bạn. Bằng mọi giá sẽ làm xong trước 3 ngày :(
 
Lần chỉnh sửa cuối:
cứ chơi dữ liệu không đồng nhất, tùm lum từa lưa hết thì chịu chết. chả được công thức nào tổng quát hết đâu bác.
cứ thống nhất 1 cách ghi, như Quận thì Q. chứ chỗ thì "Quận", chỗ thì "Q." chỗ thì "Q" thì chịu. ai lại trình bày dữ liệu lộn xộn như thế
bỏi thế muốn giúp cũng làm biếng. 3 hồi thế này 3 hồi thế kia
 
cứ chơi dữ liệu không đồng nhất, tùm lum từa lưa hết thì chịu chết. chả được công thức nào tổng quát hết đâu bác.
cứ thống nhất 1 cách ghi, như Quận thì Q. chứ chỗ thì "Quận", chỗ thì "Q." chỗ thì "Q" thì chịu. ai lại trình bày dữ liệu lộn xộn như thế
bỏi thế muốn giúp cũng làm biếng. 3 hồi thế này 3 hồi thế kia
Nhìn xong dữ liệu thật muốn ngất ra đấy hổng còn muốn làm nữa +-+-+-++-+-+-++-+-+-+
 
Nhìn xong dữ liệu thật muốn ngất ra đấy hổng còn muốn làm nữa +-+-+-++-+-+-++-+-+-+
code thì may ra
chứ hàm thì thôi rồi, bẫy lỗi, công thức chắc cũng 2-3 dòng chứ chả chơi.(với trình độ em chỉ biết dùng 2003 thì chỉ có thế- còn công thức đời cao hơn thì có thể ngắn hơn)
 
tại khó quá nên mới phải nhờ sự giúp đỡ của mấy bác ạ --=0--=0
bình thường em làm mất cả tuần :(
 
[TABLE="width: 714"]
[TR]
[TD]Xem tới đây chợt nghĩ, phải chăng sau chữ hoa, là "Phường" kẹp giữa 2 dấu phẩy?

NGUYỄN THỊ HỒNG, 309CT5, C/CƯ QUÂN ĐỘI, PHAN VĂN TRỊ, 7, Gò Vấp, Hồ Chí Minh[/TD]
[/TR]
[TR]
[TD]NGUYỄN THỊ HỒNG YẾN, 793/28/13/20/12 TRẦN XUÂN SỌAN, Tân Hưng, Quan 7, Hồ Chí Minh[/TD]
[/TR]
[TR]
[TD]NGUYỄN THỊ HƯƠNG GIANG, 63 NGÕ 2 TỔ 10 ĐINH CÔNG THƯỢNG, Định Công, Hoàng Mai, Hà Nội[/TD]
[/TR]
[TR]
[TD]NGUYỄN THỊ KIM HUỆ, 1057 BÌNH QUỚI, 28, Quan Bình Thạnh, Hồ Chí Minh

Tuy nhiên đến đây thì "xỉu":

[TABLE="width: 714"]
[TR]
[TD="class: xl65, width: 714"]NGUYỄN THỊ TUYẾT SƯƠNG, 50 đường Liên Xã, Khu phố 3, Vĩnh Thông, Rạch Giá, Kiên Giang
[/TD]
[/TR]
[/TABLE]
[TABLE="width: 714"]
[TR]
[TD="class: xl65, width: 714"]TÔ TẤN THANH TÙNG, A20B/23 Liên Ấp 123, Khu Phố 1B Tổ 19-20-21, Vĩnh Lộc B, Bình Chánh, Hồ Chí Minh
[/TD]
[/TR]
[/TABLE]

[/TD]
[/TR]
[/TABLE]
 
cái đó chắc bỏ đi bác, để em làm tay cũng được, keke, chỉ làm những cái theo đúng định dạng là tên, số nhà + tên đường, phường, quận/huyện, thành phố thôi ạ, chỉ khó là chữ phường hay quận nó nhiều kiểu quá ạ, lúc thì Q. Q, Quan, Quận,... :D
 
cái đó chắc bỏ đi bác, để em làm tay cũng được, keke, chỉ làm những cái theo đúng định dạng là tên, số nhà + tên đường, phường, quận/huyện, thành phố thôi ạ, chỉ khó là chữ phường hay quận nó nhiều kiểu quá ạ, lúc thì Q. Q, Quan, Quận,... :D
Thấy vẫn xơi được nhưng làm đúng như file gửi thôi nhé. Mọi phát sinh khác thì nằm ngoài hợp đồng ^^
 
cái đó chắc bỏ đi bác, để em làm tay cũng được, keke, chỉ làm những cái theo đúng định dạng là tên, số nhà + tên đường, phường, quận/huyện, thành phố thôi ạ, chỉ khó là chữ phường hay quận nó nhiều kiểu quá ạ, lúc thì Q. Q, Quan, Quận,... :D
Đây là tác giả của nhiều Ông, bà cùng viết đây nên mới tùm lùm vậy. Sao không Q. Q, Quan Ctrl+F hết cơ sở dữ liệu trước về quận, sau đó làm tiếp. chắc chắn ko thể đúng hết với cơ sở này được. Thấy bạn cứ cười mãi nhẩy. Rất lưu ý trong cơ sở dữ liệu thì mới dễ làm được, chứ ko phải cứ linh tinh là xong đâu.
 
cái đó chắc bỏ đi bác, để em làm tay cũng được, keke, chỉ làm những cái theo đúng định dạng là tên, số nhà + tên đường, phường, quận/huyện, thành phố thôi ạ, chỉ khó là chữ phường hay quận nó nhiều kiểu quá ạ, lúc thì Q. Q, Quan, Quận,... :D
mấy cái đơn vị NGÕ, TỔ , KHÓM , ẤP, KHU PHỐ thì thuộc cột nào đây bạn ? tên đường hay tên phường ?
TRƯỜNG-TH&THCS-CHI-LĂNG thì thuộc cột nào ?
 
Đây của bạn. Lần sau qui định form rõ ràng ai mà gõ sai cho cái thước vào tay đảm bảo đi vào qui củ hết ^^
 

File đính kèm

Đây của bạn. Lần sau qui định form rõ ràng ai mà gõ sai cho cái thước vào tay đảm bảo đi vào qui củ hết ^^
Đầu tiên cảm ơn tác giả về bài viết nhé, nhưng có lẽ do cơ sở dữ liệu ko được chuẩn nên ko đúng hết được, chắc phải sửa tay. Mình chưa xem hết nhưng theo mình biết, Thanh Hóa không có "Quận" Thanh Hóa
nhìn darr(k,4) và darr(k,5) nhìn hoảng quá, nếu được Ctrl+F, replace Q,Q, tương tự với phường (vì chủ topic có thể lấy cái sau replace copy đè lên cơ sở cũ là ok) tại cơ sở thô luôn thì nhìn công thức có thể gọn hơn.
 
ủa sao Hiệp Phú lại biến thành HIỆPHÚ vậy ta ? Dữ liệu đầu vào có hoa có thường sao đầu ra biến thành IN HOA vậy cà ?
Mình làm xong thì hoa hết cả mắt chả biết sao vậy nữa. Huhu. Chỉ định góp vui văn nghệ một tí rồi chuồn nhưng vì thương bạn ấy bảo làm 1 tuần mới xong nên mới cố đấy ^^
 
Trước mắt em rất cảm ơn bác doatmenhhon, file rất ổn, cảm ơn bác giúp đỡ em tận tình, chu đáo ạ --=0
Bác có thể chèn thêm cho em đoạn code nó xóa bỏ khoảng trắng ở trước cái tên đường được không ạ, bác thấy phức quá thì thôi cũng được ạ /-*+/

 

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

Back
Top Bottom