Cách lấy giá trị sau chữ G

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Doannguyen97

Thành viên mới
Tham gia
16/3/23
Bài viết
4
Được thích
0
Các cao nhân giúp em tách giá trị sau chữ G từ cột A sang cột B trong ví dụ sau đây với ạ
 

File đính kèm

Chưa xem nhưng mạnh dạn đoán mò. Mid, search "G", ...
 
Các cao nhân giúp em tách giá trị sau chữ G từ cột A sang cột B trong ví dụ sau đây với ạ
Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:
Option Explicit
Sub tach()
    Dim i&, Lr&, a%, ch$, b%, tmp1$
    Lr = Range("A" & Rows.Count).End(xlUp).Row
    Range("C:C").ClearContents
    For i = 2 To Lr
        a = InStr(Cells(i, 1), "G")
        If a > 0 Then
            For b = a To Len(Cells(i, 1))
                tmp1 = Mid(Cells(i, 1), b + 1, 1)
                If IsNumeric(tmp1) Or tmp1 = "." Then
                    ch = ch & tmp1
                Else
                    Exit For
                End If
            Next b
        Else
            Cells(i, 3) = "No data"
        End If
        If a Then
            Cells(i, 3) = ch: ch = ""
        End If
    Next i
    MsgBox "Hoan Thanh"
End Sub
 

File đính kèm

Với dữ liệu tè le nên công thức cũng phải tè le.
Mã:
=IFERROR(SUBSTITUTE(CONCAT(IF(UNICODE(MID(MID(A2;MATCH("g";MID(A2;ROW(INDIRECT(1&":"&LEN(A2)));1);0)+1;3);{1;2;3};1))<58;MID(MID(A2;MATCH("g";MID(A2;ROW(INDIRECT(1&":"&LEN(A2)));1);0)+1;3);{1;2;3};1);""));".";",");0)
 
Dùng thử công thức này:
B2=IFERROR(LOOKUP(10^24,--MID(A2,SEARCH("g",A2)+1,ROW(INDIRECT(1&":"&LEN(A2))))),0)
em dùng cái này ok luôn, cảm ơn bác
Bài đã được tự động gộp:

Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:
Option Explicit
Sub tach()
    Dim i&, Lr&, a%, ch$, b%, tmp1$
    Lr = Range("A" & Rows.Count).End(xlUp).Row
    Range("C:C").ClearContents
    For i = 2 To Lr
        a = InStr(Cells(i, 1), "G")
        If a > 0 Then
            For b = a To Len(Cells(i, 1))
                tmp1 = Mid(Cells(i, 1), b + 1, 1)
                If IsNumeric(tmp1) Or tmp1 = "." Then
                    ch = ch & tmp1
                Else
                    Exit For
                End If
            Next b
        Else
            Cells(i, 3) = "No data"
        End If
        If a Then
            Cells(i, 3) = ch: ch = ""
        End If
    Next i
    MsgBox "Hoan Thanh"
End Sub
em cảm ơn bác, dùng hàm như bên dưới là được luôn rồi ạ
 
Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:
Option Explicit
Sub tach()
    Dim i&, Lr&, a%, ch$, b%, tmp1$
    Lr = Range("A" & Rows.Count).End(xlUp).Row
    Range("C:C").ClearContents
    For i = 2 To Lr
        a = InStr(Cells(i, 1), "G")
        If a > 0 Then
            For b = a To Len(Cells(i, 1))
                tmp1 = Mid(Cells(i, 1), b + 1, 1)
                If IsNumeric(tmp1) Or tmp1 = "." Then
                    ch = ch & tmp1
                Else
                    Exit For
                End If
            Next b
        Else
            Cells(i, 3) = "No data"
        End If
        If a Then
            Cells(i, 3) = ch: ch = ""
        End If
    Next i
    MsgBox "Hoan Thanh"
End Sub

Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:
Option Explicit
Sub tach()
    Dim i&, Lr&, a%, ch$, b%, tmp1$
    Lr = Range("A" & Rows.Count).End(xlUp).Row
    Range("C:C").ClearContents
    For i = 2 To Lr
        a = InStr(Cells(i, 1), "G")
        If a > 0 Then
            For b = a To Len(Cells(i, 1))
                tmp1 = Mid(Cells(i, 1), b + 1, 1)
                If IsNumeric(tmp1) Or tmp1 = "." Then
                    ch = ch & tmp1
                Else
                    Exit For
                End If
            Next b
        Else
            Cells(i, 3) = "No data"
        End If
        If a Then
            Cells(i, 3) = ch: ch = ""
        End If
    Next i
    MsgBox "Hoan Thanh"
End Sub
[/
[/QUOTE]

Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:
Option Explicit
Sub tach()
    Dim i&, Lr&, a%, ch$, b%, tmp1$
    Lr = Range("A" & Rows.Count).End(xlUp).Row
    Range("C:C").ClearContents
    For i = 2 To Lr
        a = InStr(Cells(i, 1), "G")
        If a > 0 Then
            For b = a To Len(Cells(i, 1))
                tmp1 = Mid(Cells(i, 1), b + 1, 1)
                If IsNumeric(tmp1) Or tmp1 = "." Then
                    ch = ch & tmp1
                Else
                    Exit For
                End If
            Next b
        Else
            Cells(i, 3) = "No data"
        End If
        If a Then
            Cells(i, 3) = ch: ch = ""
        End If
    Next i
    MsgBox "Hoan Thanh"
End Sub
Cho em hỏi chút ạ. Em muốn thay đổi cột A sang cột H và xuất dữ liệu ra cột O như ví dụ dưới đây thì phải sửa sao ạ. Và làm sao để hiện chữ "Tách" như trong file bác gửi ạ. Em hơi dốt phần này, mong bác chỉ giáo.
 

File đính kèm

Web KT

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

Back
Top Bottom