如何在 Excel 中从文本字符串中提取大写字母或以大写字母开头的单词

ms excelmicrosoft technologiescomputers更新于 2024/8/24 10:52:17

Microsoft Excel 是数据分析和处理领域的强大工具,拥有丰富的操作和功能。从文本字符串中提取特定信息是一项常见的操作。例如,假设您有一个包含文本条目的数据集,并且希望提取所有大写字母或以大写字母开头的词语。

完成本教程后,您将掌握如何在 Excel 中从文本字符串中提取大写字母和以大写字母开头的单词。这些技能将使您能够在数据分析项目中处理类似的任务,从而节省您的时间和精力。

从文本字符串中提取大写字母或以大写字母开头的单词

在这里,我们将首先使用 VBA 创建一个用户定义的公式,然后使用该公式完成任务。让我们看一个简单的过程,了解如何从 Excel 中的文本字符串中提取大写字母或以大写字母开头的单词。

步骤 1

假设有一个 Excel 工作表,其中的数据与下图类似。

首先,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。

步骤 2

然后点击"插入",选择"模块",然后将以下代码复制到文本框中。

示例

Function ExtractCap(Txt As String) As String
   Application.Volatile
   Dim xRegEx As Object
   Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
   xRegEx.Pattern = "[^A-Z]"
   xRegEx.Global = True
   ExtractCap = xRegEx.Replace(Txt, "")
   Set xRegEx = Nothing
End Function

步骤 3

然后在 Excel 中,点击一个空单元格,输入公式 =EXTRACTCAP(A2),并按 Enter 键提取第一个值的大写字母。然后使用自动填充功能向下拖动以完成任务。

空单元格 > 公式 > 输入 > 拖动。

注意

如果要提取单词,请使用以下代码并使用公式"=StrExtract(A2)"。

示例

Function StrExtract(Str As String) As String
   Application.Volatile
   Dim xStrList As Variant
   Dim xRet As String
   Dim I As Long
   If Len(Str) = 0 Then Exit Function
   xStrList = Split(Str, " ")
   If UBound(xStrList) >= 0 Then
      For I = 0 To UBound(xStrList)
         If xStrList(I) = StrConv(xStrList(I), vbProperCase) Then
            xRet = xRet & xStrList(I) & " "
         End If
     Next
     StrExtract = Left(xRet, Len(xRet) - 1)
   End If
End Function

结论

在本教程中,我们使用了一个简单的示例来演示如何从 Excel 中的文本字符串中提取大写字母或以大写字母开头的单词,以突出显示特定的一组数据。


相关文章


有用资源