Excel : Tìm vị trí chữ hoa đầu tiên trong chuỗi kí tự

Giả sử có những ô chứa các chuỗi kí tự , bạn muốn tìm vị trí chữ cái đầu tiên của chuỗi kí tự này .

 

Để làm việc này bạn cần dùng công thức mảng như sau

 

=MIN(IF(ISERROR(FIND(CHAR(ROW(INDIRECT(\"65:90\"))),A1)),\"\",FIND(CHAR(ROW(INDIRECT(\"65:90\"))),A1)))

 

Rồi bấm tổ hợp phím Shift + Ctrl + Enter để tạo thành công thức mảng , như hình dưới ,để cho kết quả đúng

 

\"\"

 

Hoặc bạn có thể định nghĩa theo hàm , cách làm như sau . Trong Excel bấm tổ hợp phím Alt_F11 để mở cửa sổ Microsoft Visual Basic .

Bấm chuột phải vào VBAProject > Insert > Mudule

 

\"\"

 

Rồi bạn copy nội dung bên dưới vào cửa sổ bên phải

 

Function GetFirstUpper(Rg As Range) As Integer

    Dim xStr As String

    Dim I As Integer

    Application.Volatile

    GetFirstUpper = -1

    On Error Resume Next

    xStr = Trim(Rg.Value)

    For I = 1 To Len(xStr)

        If (Asc(Mid(xStr, I, 1)) < 91) And (Asc(Mid(xStr, I, 1)) > 64) Then

            GetFirstUpper = I

            Exit Function

        End If

    Next

End Function

 

Quay trở lại Excel và gõ công thức

 

=GetFirstUpper(A1)

 

Nếu không có kí tự chữ hoa nào nó sẽ cho kết quả bằng -1

 

\"\"