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
Mình hỏi ké một chút. Mình có chuỗi Brown Miller - Stolen Dreams mình muốn chuyển nó thành Miller Brown - Stolen Dreams thì làm sao? Mình đang add rules cho Winsome File Renamer 7 để đặt lại tên cho đám ebook nước ngoài của mình mà bị vướng cái này >< Cám ơn trước
 
Mình hỏi ké một chút. Mình có chuỗi Brown Miller - Stolen Dreams mình muốn chuyển nó thành Miller Brown - Stolen Dreams thì làm sao? Mình đang add rules cho Winsome File Renamer 7 để đặt lại tên cho đám ebook nước ngoài của mình mà bị vướng cái này >< Cám ơn trước
Vì không có dữ liệu nên không thể kiểm tra hết các tình huống, với mẫu ví dụ của bạn, có thể dùng tạm công thức sau:
=MID(A1, FIND(" ", A1)+1, FIND("-", A1)-FIND(" ", A1)-1) & LEFT(A1, FIND(" ", A1)-1) & " -" & REPLACE(A1, 1,FIND("-", A1),"")
 
Vì không thạo về VBA và cũng không thạo về hàm nên tôi dùng phương pháp "Đông - Tây Y" kết hợp như sau:

Bước 1: Copy toàn bộ cột A (cột họ tên) sang cột B

Bước 2: Tách họ bằng cách Replace dấu cách* thành không có gì (nhấn Ctrl + H trong Find what nhập dấu cách*; trong Replace with bỏ trống; nhấn Replace All)

Bước 3: Tách tên đệm và tên. Tại C4 nhập =TRIM(SUBSTITUTE(A4;B4;;1)) rồi Fill xuống

Bạn làm thử xem, đơn giản như đan giổ.

cái bước 3 của BÁC nên bỏ số 1.hihi
=TRIM(SUBSTITUTE(A4,B4, )) OK.
 
Code chưa bẫy lỗi nha! (chuổi rổng hoặc chuổi chỉ có 1 từ).
Ngoài ra đã là TÁCH TÊN thì phải có HỌ, TÊN, CHỮ LÓT... Vậy CHỮ LÓT của bạn đâu?

If YN = True Then
Tach_Ten = Left(a, b) ' <họ>
Else
Tach_Ten = Trim(Right(a, Len(a) - b)) '<Tên và chữ lót>

tach_ten(hoten, 0 / 1) 0 thì lấy ho, 1 lấy tên
 
Tách tên tỉnh khỏi địa chỉ

Lâu lắm rồi chưa ghé thăm diễn đàn, hôm nay có dịp thì lại có việc nhờ các anh chị rồi
Mong các anh chị cho dùm công thức tách tên tỉnh khỏi địa chỉ
Em lấy ví dụ nhé
1. Công an Đồng Nai
2. Thuận hoà, Long Khánh, Đồng Nai
3. Biên Hoà Đồng Nai
Em đưa ra 3 trường hợp cần lấy tên tỉnh là Đồng Nai
Xin cảm ơn anh chị
 
hiiiiiii bạn dùng công thức này đi :


=right(a1(len(a1)-trim(find("Đồng Lai",a1))+1)

là OK ngay đấy
 
hiiiiiii bạn dùng công thức này đi :


=right(a1(len(a1)-trim(find("Đồng Lai",a1))+1)

là OK ngay đấy

Hi, rất cảm ơn bạn đã trả lời bài viết của mình, nhưng mình thấy là chưa tổng quát. Vì nếu tên tỉnh khác Đồng Nai thì không lấy được. Trong lúc mình đợi kết quả trả lời thì mình đã tìm được lời giải rồi, xin cảm ơn
ct:=trim(right(substitute(a1," ",rept(" ",100),200)
 
Hi, rất cảm ơn bạn đã trả lời bài viết của mình, nhưng mình thấy là chưa tổng quát. Vì nếu tên tỉnh khác Đồng Nai thì không lấy được. Trong lúc mình đợi kết quả trả lời thì mình đã tìm được lời giải rồi, xin cảm ơn
ct:=trim(right(substitute(a1," ",rept(" ",100),200)
Sao mà tổng quát được với Quận 2, TP.HCM v.v...
 
Hi, rất cảm ơn bạn đã trả lời bài viết của mình, nhưng mình thấy là chưa tổng quát. Vì nếu tên tỉnh khác Đồng Nai thì không lấy được. Trong lúc mình đợi kết quả trả lời thì mình đã tìm được lời giải rồi, xin cảm ơn
ct:=trim(right(substitute(a1," ",rept(" ",100),200)
Nếu dữ liệu là:
Công an TP Hồ Chí Minh
thì sao hả bạn ????
Thân
Híc, Ba Tê không có tiết hả ????
 
Với dữ liệu chủ thớt đưa ra, rồi đưa công thức luôn (=trim(right(substitute(a1," ",rept(" ",100),200) ) cũng có đúng đâu bác.
Bạn í nhập thiếu một dấu ")" í mà, nhưng cũng không tổng quát
Nói chung, các bài trích dữ liệu phải xem hết các kiểu dữ liệu & quy luật thì mới hy vọng tìm được công thức tổng quát, còn không thì....tèo
Híc
 
Bài này cần phải có 1 danh mục tên các tỉnh, từ đó tra vào mà tách
- Giả định danh mục tỉnh nằm ở sheet1, từ A1 đến A66
- Ta đặt name cho danh mục tỉnh là DMT
- Tại sheet 2, địa chỉ cần tách nằm từ A2 trở xuống
- Vậy công thức cho cell B2 (sheet 2) sẽ là:
Mã:
=LOOKUP(2,1/FIND(DMT,TRIM($A2)),DMT)
Cơ bản là vậy, đương nhiên vẫn còn phải nghiên cứu kỹ những lỗi khác có thể xuất hiện
 

File đính kèm

Tách tên trong trường hợp này!

Em có ví dụ này mà nghĩ mãi không ra công thức. Em đưa lên đây nhờ các anh chị thiết lập dùm em nhé!
(Câu hỏi cụ thể trong file đính kèm)
 

File đính kèm

Em có ví dụ này mà nghĩ mãi không ra công thức. Em đưa lên đây nhờ các anh chị thiết lập dùm em nhé!
(Câu hỏi cụ thể trong file đính kèm)
Công thức tại ô D4 :
PHP:
=TRIM(RIGHT(C4,LEN(C4)-FIND("-",C4)))
 
Công thức tại ô D4:

=TRIM(RIGHT(SUBSTITUTE($C4,"-",REPT(" ",LEN($C4))),LEN($C4)))
 
Em có ví dụ này mà nghĩ mãi không ra công thức. Em đưa lên đây nhờ các anh chị thiết lập dùm em nhé!
(Câu hỏi cụ thể trong file đính kèm)

Giới thiệu cho bạn cách không dùng công thức nhé.
1. Copy dữ liệu vào 1 cột mới
2. Chọn hết cột mới này
3. Bấm phím Ctrl + H
4. Trong hộp thoại Find What nhập vào 3 ký tự: *- ( dấu sao, gạch nối, và 1 khoảng trắng)
5. Bấm nút Replace All >>> Xong
 
Ngoài cách dùng các công thức và Replace, bạn cũng có thể dùng chức năng text to columns.
1. Copy dữ liệu vào 1 cột mới
2. Chọn hết cột này
3. Vào data, chọn text to columns
4. Chọn Delimited, nhấn Next
5. Trong delimiters, chọn Other và nhập dấu "-" sau đó nhấn Finish
 
lọc nam nữ dự vào "thị" và " van" ......

Em có một danh sách khách hàng dai khoản 1000 người đang cần phân loại nam nữ như dựa vào tên đệm. khi viết như vậy sẽ sảy ra tên người" nguyễn thanh hải" thì sẽ ko phân phân loại được thì e sẽ để trống và phân loại ra thành mục khác. bác nào chỉ giúp em dc ko. e dùng hàm if, and, find như sao ko dc. bác nào chỉ giúp em với. ko bt e dùng hàm như vậy có đúng ko?
 

File đính kèm

Em có một danh sách khách hàng dai khoản 1000 người đang cần phân loại nam nữ như dựa vào tên đệm. khi viết như vậy sẽ sảy ra tên người" nguyễn thanh hải" thì sẽ ko phân phân loại được thì e sẽ để trống và phân loại ra thành mục khác. bác nào chỉ giúp em dc ko. e dùng hàm if, and, find như sao ko dc. bác nào chỉ giúp em với. ko bt e dùng hàm như vậy có đúng ko?

Có thể dùng công thức sau:
HTML:
=IF(MID(B3,FIND(" ",B3)+1,3)="Văn","nam",IF(MID(B3,FIND(" ",B3)+1,3)="Thị","nữ","phan loai sau"))
 
Có thể dùng công thức sau:
HTML:
=IF(MID(B3,FIND(" ",B3)+1,3)="Văn","nam",IF(MID(B3,FIND(" ",B3)+1,3)="Thị","nữ","phan loai sau"))

Ngắn hơn chút:
PHP:
=LOOKUP(2,1/COUNTIF(B3,{"*","*thị*","*văn*"}),{"Phân loại sau","Nữ","Nam"})
 
Web KT

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

Back
Top Bottom