Tải bản đầy đủ (.doc) (1 trang)

Ghép và tách cột trong Excel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (48.53 KB, 1 trang )

Ghép h tênọ
Có phải đúng ý bạn không
Cột B1 = Lê Văn
Cột C1 = Lừa
Cột D1 = B1& " " &C1
Kết quả Tại C1 là Lê Văn Lừa
T ¸ch h tênọ
Khi nhập liệu vào bảng tính Excel, thông thường ta nhập cả họ và tên vào cùng một ô. Tuy
nhiên, có khi sau đó ta cần phải tách riêng tên ra khỏi họ và tên đệm, nếu làm thủ công bằng
thao tác sao chép rồi dán qua ô khác thì sẽ rất bất tiện. Ngoài ra có những lúc bạn phải xắp xếp
lại theo thứ tự A,B,C,...
Nếu sử dụng hàm Right kết hợp với một vài hàm khác thì cũng có thể cho ra kết quả như bạn
muốn, nhưng trong một số trường hợp sẽ cho kết quả không chính xác. Có một phương pháp tối
ưu hơn sẽ giúp bạn hoàn thành tốt công việc này, cách thực hiện cũng khá đơn giản như sau:
- Trên bảng tính chứa cột họ tên cần tách, bạn chọn menu Tools > Macro > Visual Basic Editor,
lập tức xuất hiện chương trình Microsoft Visual Basic.
- Tiếp theo, bạn nhấn menu Insert và chọn Module sẽ xuất hiện một cửa sổ soạn thảo.
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


Bạn nhập đoạn mã lệnh sau vào cửa sổ soạn thảo:
- Bạn nhấn Ctrl+S để lưu lại và quay trở về bảng tính Excel.
- Bây giờ để tiến hành tách riêng họ và tên đệm vào một ô mới, bạn đặt con trỏ tại ô mới chứa
họ và tên đệm rồi nhập vào công thức =TachTen(B3,0) và nhấn Enter sẽ thấy ngay kết quả.
- Để tách riêng tên vào một ô mới, bạn đặt con trỏ tại ô sẽ chứa tên cần tách và nhập vào công
thức =TachTen(B3,1) rồi nhấn Enter là xong.
Ghi chú: B3 chính là địa chỉ của ô ban đầu chứa cả họ, tên đệm và tên.
DƯƠNG VŨ (Q.1, TP.HCM)
TuanVNUNI
08-09-06, 09:39 AM
Cách 2: Không dùng vòng For. Dùng cho 2 trường hợp tách Họ hoặc Tên.
Function TachHoTen(ByVal HoVaTen As String, Optional TachTen As Boolean = True) As String
Dim Pos_Right As Integer
If HoVaTen = "" Then GoTo EndFunc
HoVaTen = Trim(HoVaTen) 'Xoá khoảng trống hai bên của "HoVaTen"
Pos_Right = InStrRev(HoVaTen, " ")
'Kiểm tra hợp lệ
If Pos_Right = 0 Or Pos_Right - 1 < 0 Or Pos_Right + 1 > Len(HoVaTen) Then
GoTo EndFunc:
End If
If TachTen Then
TachHoTen = Mid(HoVaTen, Pos_Right + 1)
Else
TachHoTen = Left(HoVaTen, Pos_Right - 1)
End If
EndFunc:
End Function
=TachHoTen("Nguyễn Duy Khánh"). Kết quả là "Khánh".
=TachHoTen("Nguyễn Duy Khánh",False). Kết quả là "Nguyễn Duy".
Hàm InStrRev chỉ dùng từ Office2000(v9) trở lên.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×