Tách tỉnh thành bởi dấu gạch ngang (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

kimthoa89

Thành viên thường trực
Tham gia
3/11/17
Bài viết
219
Được thích
17
Giới tính
Nữ
Dear anh chị !
Anh chị giúp đỡ em công thức tách tỉnh thành qua dấu gạch ngang với ah.
 

File đính kèm

Dear anh chị !
Anh chị giúp đỡ em công thức tách tỉnh thành qua dấu gạch ngang với ah.
Mình không biết hàm excel dùng hàm tự tạo nhé.
Mã:
Function tachtinh(ByVal ten As String, Optional ByVal phancach As String = "-") As String
          Dim T
          T = Split(phancach & ten, phancach)
          tachtinh = T(UBound(T))
End Function
Mã:
=tachtinh(A2)
 

File đính kèm

Việt nam có tỉnh Bà Rịa - Vũng Tàu hay Thừa Thiên - Huế.
 
Dear anh chị !
Anh chị giúp đỡ em công thức tách tỉnh thành qua dấu gạch ngang với ah.
Bạn tham khảo các dùng hàm tự tạo sau:
Mã:
Public Function TachDC(Chuoi As String, Optional So As Byte = 4) As String
    Dim i As Byte, Tam
    Tam = Split("----" & Chuoi, "-")
    i = UBound(Tam) + So - 4
    TachDC = Tam(i)
End Function

1/ Công thức áp dụng cho : B2 =IF($A2<>"",TRIM(TachDC($A2,2)))
2/ Công thức áp dụng cho Huyện: C2 =IF($A2<>"",TRIM(TachDC($A2,3)))
3/ Công thức áp dụng cho Tỉnh: D2 =IF($A2<>"",TRIM(TachDC($A2,4)))

Lưu ý: Những tỉnh, huyện có từ ghép bởi dấu gạch nối " - " thì thay nó bằng dấu gạch đích " _ " , ví dụ.
1/ Thay Bà Rịa - Vũng Tàu thành Bà Rịa_Vũng Tàu
2/ Thay Thừa Thiên_Huế thành Thừa Thiên_Huế
 

File đính kèm

Dear anh chị !
Anh chị giúp đỡ em công thức tách tỉnh thành qua dấu gạch ngang với ah.
Làm thử chơi
Mã:
Sub TachDiaChi()
Dim Nguon As Variant
Dim Kq() As String
Dim Tach
Dim i, j
On Error Resume Next
With Sheet1
    Nguon = .Range("a2", .Range("a1000000").End(xlUp))
    ReDim Kq(1 To UBound(Nguon), 1 To 3)
    For i = 1 To UBound(Nguon)
        Tach = Split(Nguon(i, 1), "-")
        j = UBound(Tach)
        Kq(i, 3) = Trim(Tach(j))
        Kq(i, 2) = Trim(Tach(j - 1))
        ReDim Preserve Tach(j - 2)
        Kq(i, 1) = Trim(Join(Tach, "-"))
    Next i
    .Range("b2").Resize(UBound(Kq), UBound(Kq, 2)).ClearContents
    .Range("b2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .UsedRange.Columns.AutoFit
End With
End Sub
 
Bạn tham khảo các dùng hàm tự tạo sau:
Mã:
Public Function TachDC(Chuoi As String, Optional So As Byte = 4) As String
    Dim i As Byte, Tam
    Tam = Split("----" & Chuoi, "-")
    i = UBound(Tam) + So - 4
    TachDC = Tam(i)
End Function

1/ Công thức áp dụng cho : B2 =IF($A2<>"",TRIM(TachDC($A2,2)))
2/ Công thức áp dụng cho Huyện: C2 =IF($A2<>"",TRIM(TachDC($A2,3)))
3/ Công thức áp dụng cho Tỉnh: D2 =IF($A2<>"",TRIM(TachDC($A2,4)))

Lưu ý: Những tỉnh, huyện có từ ghép bởi dấu gạch nối " - " thì thay nó bằng dấu gạch đích " _ " , ví dụ.
1/ Thay Bà Rịa - Vũng Tàu thành Bà Rịa_Vũng Tàu
2/ Thay Thừa Thiên_Huế thành Thừa Thiên_Huế
Em cảm ơn anh chị ah đã hướng dẫn e dung công thức, còn VBA e ko biết dung ah
 
Em cảm ơn anh chị ah đã hướng dẫn e dung công thức, còn VBA e ko biết dung ah
Công thức cho ô C2:
PHP:
=TRIM(RIGHT(SUBSTITUTE(A2;"-";REPT(" ";200));200))
Chỉ lấy chuỗi sau dấu gạch ngang cuối cùng. Các trường hợp đặc biệt (như bài #3) bạn tự lo liệu:
 
Web KT

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

Back
Top Bottom