Các phương pháp tách họ và tên đề nghị post ở đây

  • Thread starter Thread starter daerty5
  • Ngày gửi Ngày gửi
Liên hệ QC
cái câu hỏi ko hiểu ý cho lấm có 3 tình trang
1) chuỗi gồm bao nhiêu ký tự trăng
2) ký tự trắng đầu tiên của chuỗi
3) ký tự trắng cuối cùng (tức từ phải sang trái thì là ký tự đầu tiên)

và kết quả muốn lấy là chuỗi hay ký tự trăng
muốn lấy chữ nhờ hay là chữ giúp theo mình thì ko lý nào lấy ký tự trắng
Bạn cứ đọc lại yêu cầu của người hỏi là rõ ngay thôi chứ gì:
Có hàm nào tìm ký tự trắng đầu tiên từ phải sang không các bạn ?. Nhờ các bạn chỉ giúp...!
ví dụ: ký tự trắng đầu tiên trong chuổi ký tự " Nhờ các bạn chỉ giúp" là: thứ 5
- Câu hỏi 1: Không quan trọng bao nhiêu ký tự trắng.
- Câu hỏi 2 và 3: Câu trả lời nằm ở chỗ màu xanh.
- Câu hỏi kế tiếp: Chỗ màu đỏ cho biết công thức phải trả về vị trí xuất hiện của ký tự trắng đầu tiên từ bên phải sang.
 
Bạn cứ đọc lại yêu cầu của người hỏi là rõ ngay thôi chứ gì:

- Câu hỏi 1: Không quan trọng bao nhiêu ký tự trắng.
- Câu hỏi 2 và 3: Câu trả lời nằm ở chỗ màu xanh.
- Câu hỏi kế tiếp: Chỗ màu đỏ cho biết công thức phải trả về vị trí xuất hiện của ký tự trắng đầu tiên từ bên phải sang.
vậy thì nó là cái này :
=LEN(A1)-FIND("_",SUBSTITUTE(A1," ","_",(LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))+1

kết quả co phải thế này ko
 

File đính kèm

  • hinh.png
    hinh.png
    6 KB · Đọc: 6
  • SoKytu.xlsx
    SoKytu.xlsx
    10.8 KB · Đọc: 6
Lần chỉnh sửa cuối:
Bạn có nhầm lẫn không nhỉ? Tôi thử với chuỗi trên ra kết quả là 3 mà. Có lẽ chuỗi của bạn không phải là "Xuân Lý" mà là "Xuân Lý " (dư ít nhất 1 khoảng trắng ở cuối).
cám ơn bạn...!nhưng thực ra khi người gõ chổi vô tình gỏ thêm một dữ liệu trắng cuối cùng thì khó mà tim ra trong chuổi dữ liệu dài như thế đc. Mình chỉ kiểm tra với công thức concogia thì sẻ khắc phục đc lỗi này công thức trên
 
hinh.png
cám ơn bạn...!nhưng thực ra khi người gõ chổi vô tình gỏ thêm một dữ liệu trắng cuối cùng thì khó mà tim ra trong chuổi dữ liệu dài như thế đc. Mình chỉ kiểm tra với công thức concogia thì sẻ khắc phục đc lỗi này công thức trên
nếu sợ lỡ tay ký tự trắng cuối cùng thì thế này :
=LEN(TRIM(A1))-FIND("_",SUBSTITUTE(TRIM(A1)," ","_",(LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1)," ","")))))+1
 

File đính kèm

Lần chỉnh sửa cuối:
kết quả 12 không như yeu cầu

với ví dụ "Xuân Lý" = 1 Không như yêu cầu

kết quả tốt nhất

Tôi thắc mắc chút: Bạn xác định khoảng trắng cuối cùng để làm gì? Vì hổng lý nào chỉ để chơi?
Tôi đoán rằng bạn muốn tách từ cuối cùng trong chuổi? Nếu đúng thế thì đây là bài toán tách tên và chẳng ai làm kiểu đó bao giờ (thiếu chi cách dễ hơn)
 
Tôi thắc mắc chút: Bạn xác định khoảng trắng cuối cùng để làm gì? Vì hổng lý nào chỉ để chơi?
Tôi đoán rằng bạn muốn tách từ cuối cùng trong chuổi? Nếu đúng thế thì đây là bài toán tách tên và chẳng ai làm kiểu đó bao giờ (thiếu chi cách dễ hơn)
cũng được mà anh, tìm ra "số ký tự" , cái ấy nó là vốn cơ bản cho các việc khác tương tự
vi du
hinh.jpg
 

File đính kèm

Lần chỉnh sửa cuối:
Em chào các anh chị

EM có file này cần tách số-Đường Phố- và quận. Các anh chị giúp em phương pháp tách với ạ. EM cảm ơn nhiều.
 

File đính kèm

Các Bạn làm ơn cho tôi hỏi : Truớc đây, tại các ô A1, B1, C1 tôi có "LM_" "Bích Thủy_" "Gò Công" tại ô D1 tôi có công thức D1= A1&B1&C1 nên kết quả tại ô D1 là : "LM_Bích Thủy_Gò Công" - Sau đó tôi đã mất hết dữ liệu tại các ô A1, B1, C1 - Chỉ còn chuỗi LM_Bích Thủy_Gò Công tại ô D1. Nay tôi muốn tách trở lại chuỗi đó thành các chuỗi nhỏ trong các ô A1="LM_"., B1="Bích Thủy"., C1="Gò Công" thì làm thế nào ? Trong Excel có dấu ( Hoặc hàm ) nào có ý nghĩa nguợc lại với dấu "&" không ? ( & là gộp các chuỗi tại các ô lại còn tôi thì muốn tách 1 chuỗi dài ra thành nhiều chuỗi ngắn )
Cảm ơn các Bạn nhiều
 
Các Bạn làm ơn cho tôi hỏi : Truớc đây, tại các ô A1, B1, C1 tôi có "LM_" "Bích Thủy_" "Gò Công" tại ô D1 tôi có công thức D1= A1&B1&C1 nên kết quả tại ô D1 là : "LM_Bích Thủy_Gò Công" - Sau đó tôi đã mất hết dữ liệu tại các ô A1, B1, C1 - Chỉ còn chuỗi LM_Bích Thủy_Gò Công tại ô D1. Nay tôi muốn tách trở lại chuỗi đó thành các chuỗi nhỏ trong các ô A1="LM_"., B1="Bích Thủy"., C1="Gò Công" thì làm thế nào ? Trong Excel có dấu ( Hoặc hàm ) nào có ý nghĩa nguợc lại với dấu "&" không ? ( & là gộp các chuỗi tại các ô lại còn tôi thì muốn tách 1 chuỗi dài ra thành nhiều chuỗi ngắn )
Cảm ơn các Bạn nhiều
Không có hàm nào ngược với & cả. Nếu xác định được cái gì là "chuẩn" để tách thì có thể dùng công cụ Text to Column..
Như trong ví dụ của bạn thì dùng "cái chuẩn" là dấu gạch "_" để tách. Nếu hổng có gì cả thì thua.
 
oh ! Thanks Bạn Ba Tê nhiều nha - Gợi ý của Bạn rất đúng trong truờng hợp của tôi - Rất đơn giản, ko cần công thức hay VBA gì cả
 
ĐÂY LÀ CÁCH TÔI ĐÃ HỌC ĐƯỢC TRÊN DIỄN ĐÀN VÀ ĐANG THỰC HIỆN, XIN CHIA SẺ CÙNG BẠN:

Từ file EXCEL có chứa dữ liệu bạn đang muốn tách họ và tên - bạn hãy nhấn Alt + F11 sau đó nhấn insert nhấn module dán đọan mã sau vào trong cửa sổ module:

Private Function Tachten(ten As String, lg As Integer)
Dim j As Integer
Name = Trim(ten)
For j = Len(Name) To 1 Step -1
If Mid(Name, j, 1) = " " Then
If lg = "1" Then
Tachten = Right(Name, Len(Name) - j)
Else
Tachten = Left(Name, j)
End If
Exit For
End If
Next
End Function


SỬ DỤNG HÀM TÍNH TÁCH HỌ VÀ TÊN:
Giả sử bạn muốn tách tên ra khỏi họ và họ đệm tại ô A1 = Phạm Xuân Trường / Gõ = tachten(A1,0) / Kết quả: Phạm Xuân
Giả sử bạn muốn tách tên ra khỏi họ và họ đệm tại ô A1 = Phạm Xuân Trường / Gõ = tachten(A1,1) / Kết quả: Trường


(Nếu muốn sử dụng hàm này cho tòan excel bạn hãy đọc thêm trên diễn đàn này)

Chúc bạn thành công !

Chào bạn Vungoc,
Tôi thử chạy các code khác trong chủ đề này đều được, riêng code của bạn không chạy được. Bạn upload file excel lên giúp nha, tôi rất thích code này vì nhìn gọn nhẹ và tách được cả tên lẫn họ.Cám ơn.
 
Đảm bảo với bạn rằng, hàm của tác giả VuNgoc không sai

Chào bạn Vungoc,
Tôi thử chạy code của bạn thì không chạy được. Bạn upload file excel lên giúp nha, tôi rất thích code này vì nhìn gọn nhẹ và tách được cả tên lẫn họ.Cám ơn.

Chỉ là bạn chưa hiểu nó & vận hành theo chỉ dẫn mà thôi!
 
Chỉ là bạn chưa hiểu nó & vận hành theo chỉ dẫn mà thôi!

Tôi đâu có nói hàm bị sai đâu, đúng là tôi chưa hiểu rõ nên nhờ giải thích thêm thôi, mà upload file hoàn chỉnh lên là cách hay để giải thích.
Nhưng bây giờ thì ok rồi, tôi tách được rồi.chỉ vì khi gõ hàm =tach tôi không thấy excel tự nhảy lên =tachten thôi.

Học thêm được 1 code. Cám ơn các bạn rất nhiều.
 
Không có hàm nào ngược với & cả. Nếu xác định được cái gì là "chuẩn" để tách thì có thể dùng công cụ Text to Column..
Như trong ví dụ của bạn thì dùng "cái chuẩn" là dấu gạch "_" để tách. Nếu hổng có gì cả thì thua.

Sẵn đây xin hỏi Bạn Ba Tê : Tôi có cột gồm nhiều chuỗi có đọ dài khác nhau - Nay tôi muốn tách 3 ký tự đầu ra khỏi các chuỗi thì làm thế nào cho nhanh ? ( Các chuỗi liên tục, không có dấu phẩy, cách, _ .. gì hết )
Cảm ơn Bạn nhiều
 
Sẵn đây xin hỏi Bạn Ba Tê : Tôi có cột gồm nhiều chuỗi có đọ dài khác nhau - Nay tôi muốn tách 3 ký tự đầu ra khỏi các chuỗi thì làm thế nào cho nhanh ? ( Các chuỗi liên tục, không có dấu phẩy, cách, _ .. gì hết )
Cảm ơn Bạn nhiều

Nếu bạn không biết hàm LEFT() là gì thì tôi nói đó là LEFT(), Nếu bạn biết mà vẫn làm không được thì tôi cũng không hiểu bạn muốn gì.
=LEFT(ô muốn lấy 3 ký tự đầu,3)
Híc!
 
Nếu bạn không biết hàm LEFT() là gì thì tôi nói đó là LEFT(), Nếu bạn biết mà vẫn làm không được thì tôi cũng không hiểu bạn muốn gì.
=LEFT(ô muốn lấy 3 ký tự đầu,3)
Híc!

He he - Xin lỗi Bạn Ba Tê - Tôi viết nhầm - ý tôi là : Loại bỏ 03 ký tự đầu - lấy những ký tự sau
vì chuỗi còn lại có độ dài khác nhau nên tôi muốn hỏi có cách nào cho kết quả nhanh hơn cách Bạn chỉ ở trên không ?
Caem ơn Bạn nhiều
 
Web KT

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

Back
Top Bottom