Tách số nhà ra khỏi cột địa chỉ trong Excel

  • Thread starter lts
  • Ngày gửi
L

lts

Guest
13/4/04
32
0
0
Carot ơi!
Em copy công thức tách tên khỏi họ được rồi nhưng mà nó lại ra phần cuối mà số nhà của em lại ở đầu ( 79N Lý Nam Đế thì kết quả là Đế), Em phải nghiên cứu lại lệnh này một chút chắc là sẽ được nếu không được thì em lại hỏi nhé. :thank :thank :thank :thank :thank
 
Khóa học Quản trị dòng tiền
C

carot

Guest
4/3/04
6
0
0
Truy cập trang
Originally posted by lts@Apr 17 2004, 09:52 AM
Carot ơi!
Em copy công thức tách tên khỏi họ được rồi nhưng mà nó lại ra phần cuối mà số nhà của em lại ở đầu ( 79N Lý Nam Đế thì kết quả là Đế), Em phải nghiên cứu lại lệnh này một chút chắc là sẽ được nếu không được thì em lại hỏi nhé. :thank :thank :thank :thank :thank
Bạn coi chừng cái thằng BKAV đó nó diệt mất tiêu đó, tui có gửi cho bạn cái file execl đó
 
L

lts

Guest
13/4/04
32
0
0
Em tải về làm được rồi CAROT ạ. chỉ tiếc cải em chẳng biết gì về Visual Basic nên chẳng học lỏm được. Có ai muốn tim hiểu thì load file này về có ích trong nhiều vấn đề lắm đấy. Em Cảm ơn rất nhiều. :thank :thank :thank :thank :thank :thank :thank :thank :thank :thank :thank :thank :thank
 
L

lts

Guest
13/4/04
32
0
0
Carot ơi! nếu muốn dùng nó vào file khác thì phải copy nó vào modules nhỉ
 
L

lts

Guest
13/4/04
32
0
0
Ôi Carot ơi đến địa chỉ không có số VD: LÊ THANH NGHỊ thỉ nó lại ra kết quả là Lê, làm thế nào nhỉ :f_o
 
8

8020

Guest
30/3/04
17
0
0
Chào ITs, thực ra bài toán của bạn (tách số ra khỏi ô địa chỉ) rất đơn giản, nếu:
- Trong cell chứa địa chỉ đầy đủ luôn luôn nhất quán theo thứ tự: "sốnhà_tênđường", trong đó số chuỗi "sốnhà" không có khoảng trằng nào ở liền trước nó & ở giữa nó; và nó cách chuỗi "tênđường" một hoặc nhiều khoảng trắng.

Trong trường hợp đó chỉ cần tìm ra vị trí của khoảng trắng đầu tiên trong cell địa chỉ và cắt tự vị trí đó trở về trước là xong hà, đâu cần dùng Visual Basic, vốn bạn chẳng biết gì về VB cả:
Công thức: vd, ô D3 chứa địa chỉ đầy đủ, nhập công thức sau vào ô E3 để lấy số nhà: =left(D3,search(" ",D3)). Rồi copy công thức này xuống các ô dưới là xong. Ngoài ra để cắt ra tên đường thì nhập vào ô F3 bên cạnh công thức này: =RIGHT(C3,LEN(D3)-LEN(E3)).

Bạn làm thử coi.
 
8

8020

Guest
30/3/04
17
0
0
Chà, mình wên trong trường hợp k có số nhà trong ô địa chỉ, bạn chỉ việc lập công thức kiểm tra xem ô địa chỉ có bắt đầu bằng một chữ số hay không, nếu có thì dùng công thức 8020 gửi, còn không thì giữ nguyên toàn bộ ô địa chỉ. Đây là công thức bạn sẽ nhập trong cell E3 để lấy sốnhà: =IF(ISNUMBER(VALUE(LEFT(D3,1))),LEFT(D3,SEARCH(" ",D3)),0). Còn ô F3 để lấy "tênđường" thì k có gì thay đổi.
 
L

lts

Guest
13/4/04
32
0
0
8020 à!
Em làm được rồi, có nhiều cách thật đấy, cách này cũng đơn giản, nhanh gọn nhỉ, với cách này những địa chỉ không có số thì kết quả sẽ là 0 chứ không ra tên đầu của phố nữa. Cảm on 8020 nhé. :thank
 
C

carot

Guest
4/3/04
6
0
0
Truy cập trang
Originally posted by lts@Apr 17 2004, 11:24 AM
Ôi Carot ơi đến địa chỉ không có số VD: LÊ THANH NGHỊ thỉ nó lại ra kết quả là Lê, làm thế nào nhỉ :f_o
to Its : tại vì bạn nói định dạng của cột đó là: địa chỉ + tên đường, thì ví dụ đó giải quyết ok (dù cho địa chỉ đó là chữ hay số)
 
cothant

cothant

Thằng ham chơi
29/9/04
875
18
18
HCMC
dùng hàm left hoặc right là được
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Xin Code của các nước

cothant nói:
dùng hàm left hoặc right là được
Các bạn cho biết có thể lấy Code của các nước ở đâu là tiện nhất không, Giúp mình với!?

Các bạn cho biết cách nào tách các trường hợp sau:
15Bis/45A Nguyễn Vạn Tường
A4S/125B Chung cư 727 Trần Hưng Đạo
125/12/54A Thành đô?
154 Hẽm 45 Tô Hiến Thành?


1 An Giang 76 33 Khánh Hoà 58
2 Bà Rịa Vũng Tàu 64 34 Kiên Giang 77
3 Bạc Liêu 781 35 Kon Tum 60
4 Bắc Kạn / Bắc Cạn 281 36 Lai Châu 23
5 Bắc Giang 240 37 Lạng Sơn 25
6 Bắc Ninh 241 38 Lào Cai 20
7 Bến Tre 75 39 Lâm Đồng 63
8 Bình Dương 650 40 Long An 72
9 Bình Định 56 41 Nam Định 350
10 Bình Phước 651 42 Nghệ An 38
11 Bình Thuận 62 43 Ninh Bình 30
12 Cà Mau 780 44 Ninh Thuận 68
13 Cao Bằng 26 45 Phú Thọ 210
14 Cần Thơ 71 46 Phú Yên 57
15 TP. Đà Nẵng 511 47 Quảng Bình 52
16 ĐắkLắk / Đắc Lắc 50 48 Quảng Nam 510
17 Đăc Nông/Đăk Nông 50 49 Quảng Ngãi 55
18 Điện Biên 23 50 Quảng Ninh 33
19 Đồng Nai 61 51 Quảng Trị 53
20 Đồng Tháp 67 52 Sóc Trăng 79
21 Gia Lai 59 53 Sơn La 22
21 Hà Giang 19 54 Tây Ninh 66
23 Hà Nam 351 55 Thái Bình 36
24 Hà Nội 4 56 Thái Nguyên 280
25 Hà Tây 34 57 Thanh Hoá 37
26 Hà Tĩnh 39 58 Thừa Thiên Huế/Huế 54
27 Hải Dương 320 59 Tiền Giang 73
28 Hải Phòng 31 60 Trà Vinh 74
29 Hậu Giang 71 61 Tuyên Quang 27
30 Hoà Bình 18 62 Vĩnh Long 70
31 Hưng Yên 321 63 Vĩnh Phúc 211
32 TP Hồ Chí Minh/ 8 64 Yên Bái 29
 
M

mysterious_girl

Guest
HongViet nói:
Các bạn cho biết có thể lấy Code của các nước ở đâu là tiện nhất không, Giúp mình với!?

Các bạn cho biết cách nào tách các trường hợp sau:
15Bis/45A Nguyễn Vạn Tường
A4S/125B Chung cư 727 Trần Hưng Đạo
125/12/54A Thành đô?
154 Hẽm 45 Tô Hiến Thành?

HV oi,ban ko noi ro la tach nhu the nao, lam sao giup ban duoc.

Lay code cua cac nuoc la sao ha ban?

P/S: Sorry,moi nguoi nhe. Em dang o tiem net, ko co bo go nen ko go dau dc. Mai em se edit lai. Neu mod nao ranh thi edit ho em luon the.Tks!!!
 
paulsteigel

paulsteigel

Trung cấp
13/11/05
103
0
16
48
Hoà Bình
www.sfdp.net
green_field nói:
HV oi,ban ko noi ro la tach nhu the nao, lam sao giup ban duoc.

Lay code cua cac nuoc la sao ha ban?

P/S: Sorry,moi nguoi nhe. Em dang o tiem net, ko co bo go nen ko go dau dc. Mai em se edit lai. Neu mod nao ranh thi edit ho em luon the.Tks!!!


Có lẽ bạn Việt muốn lấy mã điện thoại các nước ...
Google đê.
http://www.google.com.vn/search?hl=vi&q=Country+code&btnG=Tìm+kiếm+với+Google&meta=
Đây là một kết quả ví dụ
http://kropla.com/dialcode.htm#table
Còn forum hỗ trợ đánh tiếng việt đấy chư . vietuni mà - bạn chọn kiểu gõ đi.

Việc tiếp - bạn Hồng việt ơi: bạn có chắc chắn là tất cả các địa chỉ đều có chung format đó không?
Vì nếu chỉ khác đi một tẹo thì chắc là hiếm phần mềm nào có thể giúp bạn để đoán đâu là số nhà:
Tạm bình luận thế này nhé
Các bạn cho biết cách nào tách các trường hợp sau:
15Bis/45A Nguyễn Vạn Tường
A4S/125B Chung cư 727 Trần Hưng Đạo
125/12/54A Thành đô?
154 Hẽm 45 Tô Hiến Thành?
Nếu chỉ thuần thế này thì không khó lắm để xây dựng quy luật nhưng khác đi một tẹo thì có thể là bạn phải tự làm. Nếu nhìn qua thì có thể thấy là 3 dòng đầu có cùng dạng format - nhưng đến cái thứ 4 thì lộn xộn - vậy tôi đề xuất cách này:
1. Duyệt qua chuỗi địa chỉ và dừng lại khi kết thúc đoạn chứa số, tiến tiếp cho đến khi gặp dấu cách, đánh dấu lại.
2. Bắt đầu duyệt tịnh tiến tiếp đến 10 ký tự tiếp theo, nếu không còn số xuất hiện thì trích phần số nhà từ chỗ đã đánh dấu. Nếu lại thấy xuất hiện số thì thay thế chỗ đã đánh dấu bằng chỗ có dấu cách sau khi tìm tịnh tiến bắt đầu ký tự là số tiếp theo rồi dừng lại và quay lại bước 2.
Kết thúc thì trả về giá trị cuối cùng.
Tất nhiên theo cách này bạn có thể lọc được gần hết địa chỉ. Tuy nhiên cần đặt bẫy lỗi vì có thể địa chỉ không hợp lệ làm cho thuật toán xử lý đi đến cuối chuỗi mà chưa tìm ra quy luật kết thúc.
Các bạn thử xem cách này có ổn không!
Nay kính thư...

À còn chuyện này nữa - em mong các bác quản trị kiểm tra lại code nhúng của Vietuni vì khi chúng ta vào chế độ sửa thì bộ gõ biến mất.
 
Sửa lần cuối:
V

VanHao

Trung cấp
18/12/05
70
4
6
Go Vap
Quá dể!

Giả sử tất cả địa chỉ đều bắt đầu bằng một con số. Giải quyết như sau
1. Tạo kế bên cột muốn tách( cột A) 10 cột, đầu cột bắt đầu từ 0 đến 9
ví dụ từ ô B1 đến K1
2. Đặt công thức như sau :
B2: =if(iserr(search(B$1;$A2,1)),"",search(B$1;$A2,1))
copy sang trái và xuống dưới
3. Tại ô L2 đặt công thức =min(B2:K2), rồi copy xuống
4. Tại ô M2( tách tên) dùng công thức sau : = left(A2;L2-1)
5 Tại ô N2 ( tách địa chỉ ) : = =MID(A2;L2;100)
Chúc thành công
 
V

VanHao

Trung cấp
18/12/05
70
4
6
Go Vap
Trích:
Các bạn cho biết cách nào tách các trường hợp sau:
15Bis/45A Nguyễn Vạn Tường
A4S/125B Chung cư 727 Trần Hưng Đạo
125/12/54A Thành đô?
154 Hẽm 45 Tô Hiến Thành?

Làm như sau
Dùng công thức sau để tách số nhà
=left("text";search(" ";"text";1))
=LEFT(A8;SEARCH(" ";$A8;1))
Dùng công thức sau để tách tên đường
=mid("text";search(" ";"text";1);100)
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Chúc Mừng Xuân Mới!, Cộng Đồng Tạo Nên Sức Mạnh Mới!

Cảm ơn bạn PaulSteigel & toàn thể các bạn đã giúp đỡ & quan tâm!
Nhân dịp xuân về chúc toàn thể chúng ta nhiều sức khoẻ & sức mạnh mới!
Vấn đề tách địa chỉ ở đây tôi nêu ra muốn nói rằng số nhà rất là đa dạng do lịch sử để lại & còn dài dài; Vậy nên ta phải tách từ lúc nhập liệu; chứ sao đó mới mần thì khổ lắm í ai ơi!
Có nghĩa là phải cân nhắc kỹ càng trước khi tạo CSDL dù nhỏ hay lớn!
Ông bà ta có câu: 7 lần đo 1 lần cắt!
Vui vẽ nha!
 
Sửa lần cuối:
M

mythuat4p

Sơ cấp
5/1/09
6
0
1
Hà Nội
Ai bảo không tách được số và chữ mà không dùng công thức

Dùng công thức Excel làm được điều này. Hihi
 
H

hoanglinhsg

Guest
8/7/08
1
0
0
TP.HoChiMinh
lời giải

em cũng biết như thế nhưng tại vì em đã có sẵn 01 file danh sách rồi nhiều dữ liệu lắm không thể đánh lại được, ai biết thì giúp em nhé, em cảm ơn nhiều. :help :help :help :help :help

Mở file Excel có chứa dữ liệu
Chọn cột cần chuyển đổi, sau đó vào
Data/ text to colums...
chon Delimited/ next
chọn Comma: tách số và tên đường ra 2 cột khác nhau
Nếu chon Space : tách riêng lẻ từng cột ( ví dụ tên đường là Nguyễn văn A thì nó sẽ cho ta 3 cột chứa Nguyen/van/A)
http://vn.myblog.yahoo.com/pxl39/article?mid=201&prev=202&next=200
Chúc zui zẻ:ladiesman
 

Xem nhiều

Webketoan Zalo OA