跳到主要內容

如何快速找到Excel文本字符串中第一個大寫字母的位置?

作者:孫 最後修改時間:2020-08-20

假設有一個包含數字,大寫和小寫字母的文本字符串列表,如何快速從字符串中找到第一個大寫字母的位置? 在本文中,我將介紹一些技巧,這些技巧可以快速指定第一個大寫字母的位置,而無需在Excel中手動逐個計數。

用公式查找字符串中第一個大寫字母的位置

使用定義的函數查找字符串中第一個大寫字母的位置

使用Kutools for Excel將所有字母更改為大寫或適當的大小寫 好主意3


箭頭藍色右氣泡 用公式查找字符串中第一個大寫字母的位置

這是一個公式,可以幫助您從字符串中快速找到第一個大寫字母的位置,請執行以下操作:

選擇要查找第一個大寫字母的字符串旁邊的空白單元格,例如B1,​​輸入此公式 =MIN(IF(ISERROR(FIND(CHAR(ROW(INDIRECT("65:90"))),A1)),"",FIND(CHAR(ROW(INDIRECT("65:90"))),A1)))

媒體推薦 Shift + Ctrl + 輸入 鍵以獲取正確的結果,然後將自動填充手柄拖到應用此公式所需的單元格上。 看截圖:
doc查找第一個大寫字母1的位置


箭頭藍色右氣泡 使用定義的函數查找字符串中第一個大寫字母的位置

除公式外,還可以使用“定義的函數”找出字符串中第一個大寫字母的位置。

1.啟用包含您要查找的大寫字符串的工作表,然後按 Alt + F11鍵 打開鑰匙 Microsoft Visual Basic for Applications 窗口。

2.右鍵單擊要在其中使用代碼的工作表 項目探索 窗格,然後單擊 插入 > 模塊,然後將以下代碼粘貼到空白的模塊腳本中。 看截圖:

代碼:從字符串中查找第一個大寫字母的位置。

Function GetFirstUpper(Rg As Range) As Integer
'UpdatebyExtendoffice20160726
    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

doc查找第一個大寫字母5的位置

3.保存代碼並返回到您使用的工作表,然後在要查找大寫字母的字符串旁邊選擇一個空白單元格,輸入此公式 = GetFirstUpper(F1), 按 Enter 鍵,然後將自動填充手柄拖動到需要此公式的單元格上方。 看截圖:
doc查找第一個大寫字母6的位置

尖端:如果字符串中沒有大寫字母,則結果顯示為-1。


箭頭藍色右氣泡 使用Kutools for Excel將所有字母更改為大寫或大寫

在一般的Excel工作中,通常可能需要將字母字符串更改為大寫字母,大寫字母,小寫字母,句子大小寫或ToGgLe CaSe,如下圖所示。
doc查找第一個大寫字母2的位置

Kutools 為 Excel,可以應用它 變更案例 實用程序,可根據需要快速更改字母大小寫。

Excel的Kutools, 與以上 300 方便的功能,使您的工作更加輕鬆。 

免費安裝 Kutools for Excel,請執行以下操作:

1.選擇要更改大小寫的字符串,然後單擊 庫工具 > 文本 > 變更案例。 看截圖:
doc查找第一個大寫字母3的位置

2.然後在彈出 變更案例 對話框中,在 更改類型 部分,您可以在“預覽”窗格中預覽更改的結果。 看截圖:
doc查找第一個大寫字母4的位置

3。 然後點擊 Ok or 申請 改變大小寫。

doc下載1

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

產品描述


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I would suggest use the new CHAR(SEQUENCE(26, 1, 65)) instead CHAR(ROW(INDIRECT("65:90"))) if you can, the new code is simpler to understand and gives me less problems with automatic tables
This comment was minimized by the moderator on the site
Hi,
Can you please help me to understand why you used INDIRECT("65:90").? What is the meaning of "65:90"?
This comment was minimized by the moderator on the site
65 to 90 is the code for uppercase characters, so this code checks what the position of the character code is within that range
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations