View Single Post
Old 09-04-2009, 09:05 AM   #2
Hồ sơ
myhanh
 
myhanh's Avatar
 
Tham gia ngày: Dec 2004
Cư ngụ: Love Planet
Tuổi: 43
Số bài viết: 7,404
Tiền: 0
Thanks: 2,122
Thanked 5,464 Times in 2,040 Posts
myhanh is on a distinguished road
Default Ðề: Trích họ, tên từ họ tên đầy đủ

Trích:
Nguyên văn bởi 17A95 View Post
Trích họ: LEFT(A1;SEARCH(" ";A1))
Trích tên: RIGHT(A1;LEN(A1)-SEARCH(" [a-z]+$";A1))
Họ thì ok rồi, còn tên thì có cái đc có cái ko.
Và mình ko hiểu hàm search(" [a-z]+$";A1) [a-z]+$ là gì? ACE nào hiểu giải thích giúp.
CÁm ơn nhiều.
Bạn phải nói rõ cách tổ chức dữ liệu của bạn.
Theo mình đoán cột A của bạn chứa họ & tên đầy đủ. Bây giờ bạn cần lấy họ và tên với định nghĩa:
+Họ là từ đầu tiên trong họ & tên đầy đủ.
+Tên là từ cuối cùng trong họ & tên đầy đủ.
LEFT(A1;SEARCH(" ";A1)) => Trả về họ đúng rùi nhưng nếu kỹ bạn cần trim các dấu trắng bên tay trái của A1 nếu có trước khi SEARCH.
search(" [a-z]+$";A1)
"
[a-z]+$" đây là biểu thức chính quy nó sẽ macth với bất kỳ chuỗi ký tự nào có đặc điểm là bắt đầu 1 ký tự trắng sau đó là chuỗi các ký tự thường, và hàm search chỉ tìm sự xuất hiện chuỗi này xuất hiện cuối chuỗi A1.
Lưu ý search không phân biệt hoa thường khi tìm kiếm.
=>RIGHT(A1;LEN(A1)-SEARCH(" [a-z]+$";A1)) không trả vế kết quả đúng khi trong tên chứa ký tự không phải mã ASCII.
Bạn nên dùng công thức sau đây nếu trong tên bạn có chứa ký tự non ASCII:
Trích:

RIGHT(A4;LEN(A4)-SEARCH(" [:alpha:]+$";A4))
__________________
Necessity is the mother of in(ter)vention.
Speak softly & carry a big stick.
My Technical Blog
myhanh is offline   Trả Lời Với Trích Dẫn
Đã có thành viên gửi lời cám ơn đến myhanh vì bạn đã đăng bài:
17A95 (09-04-2009)