tách chữ hán=TRIM(LEFT(A4,4))
Các ký tự còn lại=TRIM(MID(A4,5,5))
=TRIM(RIGHT(A4,LEN(A4)-10))
Nếu dữ liệu của bạn nhiều thì nên dùng code VBAvà cho hỏi là nếu danh sách dài lên hàng nghìn dòng thì có phải thay đổi công thức hay không?
Sub Main()
Dim sArray, Arr(), iRs As Long, i As Long
On Error Resume Next
With Selection
If .Count = 1 Then
.Offset(, 1).Resize(, 3).Value = Split3Col(.Cells)
Else
sArray = .Resize(, 1).Value
iRs = UBound(sArray, 1)
ReDim Arr(1 To iRs, 1 To 3)
For i = 1 To iRs
Arr(i, 1) = Split3Col(sArray(i, 1))(1)
Arr(i, 2) = Split3Col(sArray(i, 1))(2)
Arr(i, 3) = Split3Col(sArray(i, 1))(3)
Next
.Offset(, 1).Resize(iRs, 3).Value = Arr
End If
End With
End Sub
Function Split3Col(ByVal Text As String)
Dim Tmp As String, Arr(1 To 3)
On Error Resume Next
Tmp = Replace(Text, Chr(160), " ")
Arr(1) = Val(Tmp)
Tmp = Trim(Mid(Tmp, Len(Arr(1)) + 1, Len(Tmp)))
Arr(2) = Trim(Mid(Tmp, 1, InStr(Tmp, " ")))
Arr(3) = Trim(Mid(Tmp, Len(Arr(2)) + 1, Len(Tmp)))
Split3Col = Arr
End Function
Vì trong chuổi của bạn, cái bạn nhìn và tưởng là khoảng trắng thực chất không phải khoảng trắng... Nó là 1 ký tự đặc biệt có char code = 160 ---> Nhìn rất giống khoảng trắng nhưng không thể dùng hàm TRIM để loại bỏ đượcnhưng mà khi dùng hàm trim để loại các khoảng trắng " " thì hình như không loại được các bác àh.