Cắt chuỗi từ vị trí tới vị trí

Liên hệ QC

phattrung2511

Thành viên mới
Tham gia
11/5/11
Bài viết
24
Được thích
0
Nhờ các bạn giúp đỡ mình, mình có các chuỗi ký tự sau :
Tr 231 TR An Lập 3
Kiến An An Lập Tr 1/4 Tr An Lập 3
Tr 2/4 Tr An Lập 3- Xã An Lập
Kiến An An Lập Tr 208/156 Tr An Lập 3

Mình muốn tách ra các chuỗi sau:
Tr 231 TR An Lập 3 => Tr 231
Kiến An An Lập Tr 1/4 Tr An Lập 3 => Tr 1/4
Tr 2/4 Tr An Lập 3- Xã An Lập => Tr 2/4
Kiến An An Lập Tr 208/156 Tr An Lập 3 =>
Tr 208/156

Mình muốn cắt chuỗi từ <vị trí tr thứ nhất> đến <vị trí tr thứ hai> thì làm như thế nào? Mình làm báo cáo mà phải xử lý 33.500 chuỗi. Nhờ các bạn giúp đỡ, mình xin cảm ơn rất nhiều @@
-=.,,
 
Nếu từ Tr đến Tr thì dùng công thức này:
Mã:
=TRIM(MID(A1,SEARCH("tr",A1),SEARCH("tr",A1,SEARCH("tr",A1)+1)-SEARCH("tr",A1)))
 
Nếu là Trường An Tr Kiến An An Lập Tr 208/156 Tr An Lập 3 bạn sẽ được cái gì? Với hơn 30.000 dòng bạn kéo thế có "mỏi tay" quá không ?
Yêu cầu chỉ chữ Tr thứ nhất đến chữ Tr thứ 2. Nếu gom luôn điều kiện Tr nằm trong chuỗi (vd "Trường") thì thêm khoảng trắng sau tr ("tr ").
Nếu ... sẽ rất nhiều Nếu, khó để đặt vấn đề dùm người khác và giải quyết tổng quát cho việc trích chuỗi.
 
Yêu cầu chỉ chữ Tr thứ nhất đến chữ Tr thứ 2. Nếu gom luôn điều kiện Tr nằm trong chuỗi (vd "Trường") thì thêm khoảng trắng sau tr ("tr ").
Nếu ... sẽ rất nhiều Nếu, khó để đặt vấn đề dùm người khác và giải quyết tổng quát cho việc trích chuỗi.
Với hơn 30000 dòng bạn mong rằng nó không xảy ra? Mời vào xem file so sánh 2 phương pháp ^^
 

File đính kèm

  • 11.xls
    29 KB · Đọc: 33
Yêu cầu chỉ chữ Tr thứ nhất đến chữ Tr thứ 2. Nếu gom luôn điều kiện Tr nằm trong chuỗi (vd "Trường") thì thêm khoảng trắng sau tr ("tr ").
Nếu ... sẽ rất nhiều Nếu, khó để đặt vấn đề dùm người khác và giải quyết tổng quát cho việc trích chuỗi.
Với hơn 30000 dòng bạn mong rằng nó không xảy ra? Mời vào xem file so sánh 2 phương pháp ^^
Tôi mời bạn test thử file bài #9:
Bước 1: kéo A4 xuốngA30000 (Fill series hay copy đều được)
Bước 2: sửa công thức: thay "tr" bằng "tr ", kéo công thức từ C4 đến C30000, kiểm tra thời gian chạy mất bao lâu?
Bước 3: Nhấn Run, kiểm tra xem thời gian mất bao lâu, so sánh kết quả 2 cột B, C.
Tôi ngồi đây chờ bạn phản hồi.
 
Với hơn 30000 dòng bạn mong rằng nó không xảy ra? Mời vào xem file so sánh 2 phương pháp ^^
Code chạy xong chưa bạn? Tôi chờ lâu quá, thôi lên căn-tin uống ly cafe đã.
Bạn chạy xong code nhớ cắt bỏ khoảng trắng sau chuỗi trả về nữa, Run lần cho chắc cú.
 
Code chạy xong chưa bạn? Tôi chờ lâu quá, thôi lên căn-tin uống ly cafe đã.
Bạn chạy xong code nhớ cắt bỏ khoảng trắng sau chuỗi trả về nữa, Run lần cho chắc cú.
Hì cả ngày bận rộn lu bù cứ đinh ninh bài đầu bác "không chịu" sửa cơ. Tranh thủ lúc buổi trưa vào thả bài cũng trả đọc kĩ. Dù sao cũng sorry bác nha. Về code e thử với 60000 dòng mất chưa quá 1s. Còn cái kéo ặc è mãi gần 5 phút. Bác có cách nào kéo nhanh share cho e với ^^. Chỗ e làm cafe nước giải khát miễn phí cũng trả mấy khi uống.
 
Lần chỉnh sửa cuối:
Trước hết xin cảm ơn tất cả các bạn, mình chạy theo cách đầu tiên thì đã ok, nhưng trong file dữ liệu mình có 1 trường hợp này:
Phú Bình An lập T 2/4 Tr An lập 7.
Khi đó chạy hàm đó không được, mình phải sửa tay T thành Tr mới được, cũng mất nhiều thời gian quá.
Nếu được mình mong được giúp với dữ liệu đó mình chạy hàm thì ra được luôn : Tr 2/4

- Sẵn mình nhờ giúp luôn vướng mắc thứ 2 :
Ví dụ có chuỗi :
Trụ 2-10
Trụ 2-10
Trụ 2-10
Trụ 229
Trụ 229
Trụ 229
Trụ 229
Trụ 2-4
Trụ 2-5
Trụ 2-6
Trụ 2-6

Mình cần tách rachỉ lấy những chuỗi giống nhau thôi:
Trụ 2-10
Trụ 229
Trụ 2-6

Mình làm bên điện lực, ở trên bắt thống kê 1 trạm có bao nhiêu trụ, 1 trụ đó có bao nhiêu khách hàng. Mấy bữa nay làm mà quá nhiều nên lên đây nhờ giúp đỡ. Sẵn đây mình up luôn file dữ liệu và file mình xử lý.
LINK: https://drive.google.com/file/d/0B9f3AElQH5MwTmlwOVo1b2QzSzg/view?usp=sharing
( File THONGKE dữ liệu gốc trong sheet DANHSACHOK... Còn file Biểu mẫu là trên bắt mình báo cáo..)
Mình làm theo trình tự :
- Cắt Trim như cách đầu tiên
- Copy Value qua 1 bên trong sheet Fomular
- Trong Sheet lọc, mình sẽ Rename Tr thành trụ, "/" thành"-", "." thành "-" ( đồng bộ dữ liệu để tách ra)
- Sau đó mình Xắp xếp cho những chuỗi gần nhau đứng cạnh nhau
- Minh thủ công copy qua 2 cột màu xanh ( Số khách hàng), đồng thời đếm coi có bao nhiu dấu x màu đỏ ( do mình cần đếm số này ( số này là số cầu chì cá ))
- Tiếp đến minh copy dữ liệu trụ thôi vào Sheet Data Remove. Mục đích để có danh sách mà trong đó số trụ không trùng nhau.
- Bước kết quả mình làm một số hàm để ra như trong File.

Có gì nhờ các bạn giúp đỡ... Nếu bạn nào muốn giúp mà chưa hiểu lắm hãy nhá máy mình gọi lại : 0977309119.
Mỉnh xin cảm ơn, sẵn dịp làm quen để học hỏi luôn.
Mình xin hết ;;;;;;;;;;;
 
Trước hết xin cảm ơn tất cả các bạn, mình chạy theo cách đầu tiên thì đã ok, nhưng trong file dữ liệu mình có 1 trường hợp này:
Phú Bình An lập T 2/4 Tr An lập 7.
Khi đó chạy hàm đó không được, mình phải sửa tay T thành Tr mới được, cũng mất nhiều thời gian quá.
Nếu được mình mong được giúp với dữ liệu đó mình chạy hàm thì ra được luôn : Tr 2/4

- Sẵn mình nhờ giúp luôn vướng mắc thứ 2 :
Ví dụ có chuỗi :
Trụ 2-10
Trụ 2-10
Trụ 2-10
Trụ 229
Trụ 229
Trụ 229
Trụ 229
Trụ 2-4
Trụ 2-5
Trụ 2-6
Trụ 2-6

Mình cần tách rachỉ lấy những chuỗi giống nhau thôi:
Trụ 2-10
Trụ 229
Trụ 2-6

Mình làm bên điện lực, ở trên bắt thống kê 1 trạm có bao nhiêu trụ, 1 trụ đó có bao nhiêu khách hàng. Mấy bữa nay làm mà quá nhiều nên lên đây nhờ giúp đỡ. Sẵn đây mình up luôn file dữ liệu và file mình xử lý.
LINK: https://drive.google.com/file/d/0B9f3AElQH5MwTmlwOVo1b2QzSzg/view?usp=sharing
( File THONGKE dữ liệu gốc trong sheet DANHSACHOK... Còn file Biểu mẫu là trên bắt mình báo cáo..)
Mình làm theo trình tự :
- Cắt Trim như cách đầu tiên
- Copy Value qua 1 bên trong sheet Fomular
- Trong Sheet lọc, mình sẽ Rename Tr thành trụ, "/" thành"-", "." thành "-" ( đồng bộ dữ liệu để tách ra)
- Sau đó mình Xắp xếp cho những chuỗi gần nhau đứng cạnh nhau
- Minh thủ công copy qua 2 cột màu xanh ( Số khách hàng), đồng thời đếm coi có bao nhiu dấu x màu đỏ ( do mình cần đếm số này ( số này là số cầu chì cá ))
- Tiếp đến minh copy dữ liệu trụ thôi vào Sheet Data Remove. Mục đích để có danh sách mà trong đó số trụ không trùng nhau.
- Bước kết quả mình làm một số hàm để ra như trong File.

Có gì nhờ các bạn giúp đỡ... Nếu bạn nào muốn giúp mà chưa hiểu lắm hãy nhá máy mình gọi lại : 0977309119.
Mỉnh xin cảm ơn, sẵn dịp làm quen để học hỏi luôn.
Mình xin hết ;;;;;;;;;;;
Mình cũng là kỹ sư hệ thống điện bách khoa Hà Nội nè ^^
 
Hi, mình chỉ làm ở điện lực 1 huyện nhỏ ở Bình Dương thui ak, bên cty bắt thống kê để cấp hộp Domino cho khách hàng đó mà
 
Oki, vậy trăm sự nhờ bạn zậy. hihi |||||. Cũng may bạn bên ngành điện luôn nên chắc cái zụ này bạn cũng nắm được vấn đề của mình :-=
 
Gửi tạm bạn xem đã. Lưu 1 file làm gốc rồi ấn run. Vẫn còn đầy sơ hở kiểu j cũng bị ném đá. Ke ke
 

File đính kèm

  • 11.xls
    49 KB · Đọc: 6
Vẫn bị lỗi thôi để mai vậy ^^. Vì dữ liệu đầu vào chưa chuẩn lúc "." lúc"/"; chỉ cần nhập thừa dấu cách " " cũng bị nhận diện nhầm. Mới khắc phục nhập khác nhau giữ T và Tr. Bạn cứ xem file còn ý kiến j thì mình cũng sẽ sửa luôn. ^^
 
Lần chỉnh sửa cuối:
Mình nghĩ nếu dữ liệu trạm nào bị lỗi thì mình làm thủ công, như vậy là quá tốt rồi. Do bên kinh doanh họ nhập không chuẩn. Cảm ơn bạn rất nhiều.. Hi, cái nút Run là làm bằng chuong trinh j zậy bạn. Ghiền |||||
 
Web KT
Back
Top Bottom