Tách địa chỉ và số nhà

  • Thread starter bacsytinhyeu
  • Ngày gửi
B

bacsytinhyeu

Guest
5/8/06
1
0
0
42
HCM
Chào các anh chị, em đang gặp vấn đề về Sort danh sách khách hàng theo tên đường. Cơ sở dữ liệu của em có 1 cột lưu Địa chỉ, gồm cả số nhà và tên đường.
Vd:48 Tôn Thất Tùng
219 Hai Bà Trưng
Em muốn dùng hàm hoặc 1 lệnh đơn giản để tách phần Tên đường và Số nhà ra khỏi Địa chỉ
Cơ sở dữ liệu của em có trên 500 khách hàng nên khó mà làm bằng tay hết được
Nhờ các anh chị chỉ giáo
Em xin cảm ơn trước
Nguyên Anh
 
Khóa học Quản trị dòng tiền
T

Thang_MADI

Trung cấp
13/5/05
99
0
8
Hanoi
www.1vs.vn
bacsytinhyeu nói:
Chào các anh chị, em đang gặp vấn đề về Sort danh sách khách hàng theo tên đường. Cơ sở dữ liệu của em có 1 cột lưu Địa chỉ, gồm cả số nhà và tên đường.
Vd:48 Tôn Thất Tùng
219 Hai Bà Trưng
Em muốn dùng hàm hoặc 1 lệnh đơn giản để tách phần Tên đường và Số nhà ra khỏi Địa chỉ
Cơ sở dữ liệu của em có trên 500 khách hàng nên khó mà làm bằng tay hết được
Nhờ các anh chị chỉ giáo
Em xin cảm ơn trước
Nguyên Anh

Đặc điểm của dòng địa chỉ là có ký tự cách (ký tự trắng) giữa số nhà và tên đường, vì vậy bạn có thể sử dụng các hàm Left, Right, Search để tách chúng ra như sau:

Giả sử, dòng địa chỉ ban đầu được đặt ở ô A1, khi đó để tách ra số nhà, bạn dùng công thức (ví dụ như vào ô A2):
=LEFT(A1;SEARCH(" ";A1)-1)

Để tách ra tên đường, dùng công thức (ví dụ như vào ô A3):
=RIGHT(A1;LEN(A1)-SEARCH(" ";A1))
 
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Cũng có nhiều cách làm, nhưng không có cách nào tuyệt đối chính xác và an toàn, khi mà chưa biết CSDL của bạn như thế nào.
Bạn hày gửi file cho tôi xem:
adam.tranvn@gmail.com
 
K

KKBS

Guest
23/2/05
53
0
0
51
HCM
Nếu số nhà là 1 "từ" (có nghĩa là số nhà bao gồm luôn / mà không có khoảng trắng) thì bạn có thể dùng cách tách từ đầu trong 1 câu đã có trong forum này để tách số nhà ra khỏi tên đường rồi sort theo tên đường.

Thân,
KKBS.
 
N

ntan50

Trung cấp
25/5/06
68
0
6
Hà Nội
Thang_MADI nói:
Đặc điểm của dòng địa chỉ là có ký tự cách (ký tự trắng) giữa số nhà và tên đường, vì vậy bạn có thể sử dụng các hàm Left, Right, Search để tách chúng ra như sau:

Giả sử, dòng địa chỉ ban đầu được đặt ở ô A1, khi đó để tách ra số nhà, bạn dùng công thức (ví dụ như vào ô A2):
=LEFT(A1;SEARCH(" ";A1)-1)

Để tách ra tên đường, dùng công thức (ví dụ như vào ô A3):
=RIGHT(A1;LEN(A1)-SEARCH(" ";A1))

Cũng khó có cách nào hoàn hảo bởi cơ sở dữ liệu của chúng ta chưa chắc đã là hoàn chỉnh và chính xác. Do vậy chúng ta thường áp dụng những cách đơn giản nhất và gần gũi với mình. Tôi thấy cách sử dụng các hàm của bạn Thang MADI cũng phù hợp với hoàn cảnh này.
Công thức bạn đưa ra có chỗ chưa đúng, tôi xin sửa lại như sau:
Để tách số nhà: =LEFT(A1,SEARCH(" ",A1,1))
Để tách địa chỉ: =RIGHT(A1,LEN(A1)-SEARCH(" ",A1,1))
hoặc =REPLACE(A1,1,SEARCH(" ",A1,1), ) Chú ý có dấu cách sau ngoặc cuối cùng.
Cách này chỉ đúng trong trường hợp không có dấu cách thừa ở đầu chuỗi kí tự tại ô địa chỉ và giữa số nhà và tên đường phố. Vì như thế bạn sẽ gặp khó khăn trong việc sort được theo tên đường phố.
Nếu triệt tiêu được những khoảng trắng thừa thì cách này dùng được.
 
Sửa lần cuối:
L

lehongduc

Trung cấp
29/3/05
131
1
18
64
VietNam
Công cụ cho bạn đây

bacsytinhyeu nói:
Chào các anh chị, em đang gặp vấn đề về Sort danh sách khách hàng theo tên đường. Cơ sở dữ liệu của em có 1 cột lưu Địa chỉ, gồm cả số nhà và tên đường.
Vd:48 Tôn Thất Tùng
219 Hai Bà Trưng
Em muốn dùng hàm hoặc 1 lệnh đơn giản để tách phần Tên đường và Số nhà ra khỏi Địa chỉ
Cơ sở dữ liệu của em có trên 500 khách hàng nên khó mà làm bằng tay hết được
Nhờ các anh chị chỉ giáo
Em xin cảm ơn trước
Nguyên Anh
Xin tham khảo tại đây:
http://webketoan.com/forum/showthread.php?p=177538#post177538
 
N

Ngô Tuấn Quốc

Guest
5/11/14
2
0
1
52
Chào các anh chị, em đang gặp vấn đề về Sort danh sách khách hàng theo tên đường. Cơ sở dữ liệu của em có 1 cột lưu Địa chỉ, gồm cả số nhà và tên đường.
Vd:48 Tôn Thất Tùng
219 Hai Bà Trưng
Em muốn dùng hàm hoặc 1 lệnh đơn giản để tách phần Tên đường và Số nhà ra khỏi Địa chỉ
Cơ sở dữ liệu của em có trên 500 khách hàng nên khó mà làm bằng tay hết được
Nhờ các anh chị chỉ giáo
Em xin cảm ơn trước
Nguyên Anh
Bạn tải cong cụ tại: https://sites.google.com/site/tienichhuudung/download sau đó cài đặt và dung công thức =MaHoaDiaChi(<Ô địa chỉ>,<Chiều dài số nhà tối đa>,<Danh sách toàn bộ các tên đường>)

như hướng dẫn sau:
 
N

Ngô Tuấn Quốc

Guest
5/11/14
2
0
1
52
Bước 1: Tải công cụ hổ trợ cho Excel tại trang web:
https://sites.google.com/site/tienichhuudung/mot-so-cong-cu-tien-ich-cho-excel
Bước 2: Cài đặt:
Đóng toàn bộ tất cả các file Excel đang mở -> kích đúp liên tục vào file vừa tải để tự chạy cài đặt công cụ đã tải
Bước 3:
Tạo thêm một cột mới hoặc chọn 1 cột trống để lập công thức vào ô đầu tiên của dòng tương ứng với ô có chứa địa chỉ như sau:
=MaHoaDiaChi(<Ô địa chỉ>,<Chiều dài số nhà tối đa>,<Danh sách toàn bộ các tên đường>)
Bước 4: Copy công thức vừa tạo xuống hết tất cả các dòng tương ứng còn lại còn lại
Bước 5: Thực hiện sắp xếp (Sort):
- Chọn khối dữ liệu cần sắp xếp mà bao gồm cả cột vừa mới lập công thức
- Thực hiện sắp xếp (Sort) bình thường theo cột có chứa công thức vừa lập
 

Xem nhiều

Webketoan Zalo OA