George thường xuyên phải làm việc với dữ liệu do người khác cung cấp. Khi làm việc với dữ liệu này, anh ta có thể cần phải chuyển đổi một cái tên, chẳng hạn như Joe Bloggs, để họ đứng trước, như trong Bloggs, Joe. George hiểu rằng anh ta có thể sử dụng một công thức để thực hiện việc đảo ngược tên, nhưng anh ta cần phải làm điều đó trong cùng ô chứa tên đó. Anh ta tự hỏi liệu có một lệnh tích hợp sẽ thực hiện nhiệm vụ này hay không.

Không, không có lệnh tích hợp để thực hiện việc đó. Tuy nhiên, bạn có thể tạo một macro sẽ thực hiện việc chuyển đổi cho bạn. Macro này sau đó có thể được gán cho một phím tắt hoặc đặt trên thanh công cụ để có thể dễ dàng truy cập. Đây là một macro đơn giản sẽ thực hiện chuyển đổi:

Sub ReverseNames()

Dim x As Integer     Dim sCell As String     Dim sLast As String     Dim sFirst As String     Dim rCell As Range

For Each rCell In Selection         sCell = rCell.Value         x = InStr(sCell, " ")

If x > 0 Then             sFirst = Left(sCell, x - 1)

sLast = Mid(sCell, x + 1)

rCell.Value = sLast & ", " & sFirst         End If     Next     Set rCell = Nothing End Sub

Để sử dụng macro, chỉ cần chọn phạm vi ô bạn muốn ảnh hưởng và sau đó chạy nó. Macro tìm kiếm một khoảng trắng trong ô và coi mọi thứ ở phía trước khoảng trắng là tên và mọi thứ sau khoảng trắng là họ. Hai yếu tố này được đảo ngược, một dấu phẩy được đặt giữa chúng và được nhét trở lại ô.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3812) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: