Hwitford

New Member
Giả sử mẹ bạn là một giáo viên trường Văn Hiến. Mẹ bạn vừa nhận chủ nhiệm 4 lớp 10 mới vào, sáng nay mẹ bạn đánh giùm danh sách hs của 4 lớp đó. Bạn đánh một mạch xong hết, nhưng khổ nỗi đó mới chỉ là danh sách lấy theo điểm chưa được sắp xếp theo tên mà họ tên lại chung một cột nữa chứ, làm sao đây ? Đánh lại danh sách đó có chia hai cột họ và tên ư, không đủ can đảm (vì một lớp gần 70 người), hay là cắt tên dán ra một cột riêng thì lâu quá. Bạn sực nhớ lại :" A ! mình đang làm bằng Excel mà. Tại sao mình không viết một hàm để tách họ và tên ra riêng nhỉ ?". Ý tưởng hình thành và thế là bạn bắt tay vào làm ngay.


Trước tiên bạn vào Menu Tools-Macro-Visual Basic Editor- Vào Insert - Module, đánh vào đoạn code dưới đây





Function Tach(ht As String, a As Integer) As String


Dim s1, s2 As String


Dim C, L As Integer


ht = Trim(ht) 'Hàm Trim dùng để cắt những khoảng trắng thừa vô nghĩa đi


L = Len(ht)


s1 = Left(ht, L)


s2 = Right(s1, 1)


Do While s2 <> " "


L = L - 1


s1 = Left(ht, L)


s2 = Right(s1, 1)


Loop





If a = 0 Then


Tach = Left(ht, L)


Else


If a = 1 Then


Tach = Right(ht, Len(ht) - L)


End If


End If


End Function





Xong bạn lưu lại, nhớ chọn ở mục Save as type là Microsoft Excel Add-In(*.xla) rồi ở mục File name bạn đánh tên vào - Save. Đóng khung soạn thảo này lại, vào Tools-Add-Ins... - chọn Browse - nhấp vào tên mà lúc nãy bạn lưu vào - OK. vậy là xong, bây giờ nếu muốn tách họ bạn chỉ chuyện gõ


=tach(A2,0)


tương tự nếu muốn tách tên thì gõ


=tach(A2,1)


(ở đây 0 và 1 chỉ là đối số để phân biệt là mình đang tách tên hay tách họ tương tự như 0 và 1 trong hàm VLOOKUP vậy)
 

heomay_7

New Member
Có thể dùng hàm built-in functions để tách họ+chữ lót và tên riêng mà không cần dùng Visual Basic. Cách dùng tại





T.
 

nhan_x5

New Member
Mình có cách này hay lắm, mà không phải viết hàm trong VB đâu nhé: đây nè:

Giả sử cột họ tên đầy đủ trong exel là B5 thì ta có cột :

HỌ: =LEFT(B5,FIND(" ",B5,1)-1)

Đệm: =TRIM(REPLACE(LEFT(B5,FIND("*",SUBSTITUTE(B5," ","*",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1),1,FIND(" ",B5,1)-1,""))

Tên: =RIGHT(B5,LEN(B5)-FIND("*",SUBSTITUTE(B5," ","*",LEN(B5)-LEN(SUBSTITUTE(B5," ","")))))



Ngọc Anh
 

rugenan

New Member
Ôi... mấy cái này nói hoài... nói chung nhiều cách lắm... Làm chơi cho vui thôi chứ nếu là tui thì tui sẽ dùng công cụ Text to Column... Bấm cái rẹt nó tách ra hết.. khỏi hàm, code gì ráo trọi
 











Quote Được gửi bởi anhtuan1066





Ôi... mấy cái này nói hoài... nói chung nhiều cách lắm... Làm chơi cho vui thôi chứ nếu là tui thì tui sẽ dùng công cụ Text to Column... Bấm cái rẹt nó tách ra hết.. khỏi hàm, code gì ráo trọi







cái này hay nhĩ, tui dùng excel không biết bao lâu roài mà sao không biết chức năng này thx thx
 

ji_yool_93

New Member











Quote Được gửi bởi CounterStrike





cái này hay nhĩ, tui dùng excel không biết bao lâu roài mà sao không biết chức năng này thx thx







He... he... có ai mà biết hết tất cả thứ đâu nhỉ? Nếu mà biết tuốt chắc khỏi cần lên diển đàn này quá... Về nhà mở trường đại học dạy luôn


Ha.. ha..
 

peju_kyumin

New Member











Quote Được gửi bởi anhtuan1066





Ôi... mấy cái này nói hoài... nói chung nhiều cách lắm... Làm chơi cho vui thôi chứ nếu là tui thì tui sẽ dùng công cụ Text to Column... Bấm cái rẹt nó tách ra hết.. khỏi hàm, code gì ráo trọi







Tẽt column thi minh lay o dau va su dung nhu the nao vay ban??Thanks!!
 

Dezmond

New Member
Menu Data->Text to Columns->Step 1 : chọn Delimited -> Step 2: chọn Space ( hiểu là mỗi text phân biệt bằng khoảng trắng )-> Step 3 : Mục Destination chọn vùng cần tách -> Chọn Finish.



PS: Nhưng cách này hơi dở ở chổ người ta muốn tách họ và tên ra thôi (VD: Nguyen Van A -> Họ(cột 1): Nguyen, tên(cột2): Van A) nhưng cách này tách luôn cả phần tên: Van A thành 2 cột riêng biệt (VD: Nguyen Van A -> Họ(cột 1): Nguyen, tên (cột 2): Van,tên (cột 3):A
 

love_miss_o8o5

New Member
Cách này dở quá bạn ạ, ví dụ bạn muốn tách Nguyễn Văn A thành cột 1: Nguyễn Văn, cột 2: A thì không làm được bạn nhỉ????
 

Các chủ đề có liên quan khác

Top