跳至主要内容

如何从单元格中提取每个单词的首字母?

Author: Xiaoyang Last Modified: 2025-05-07
extract first letter of each word

假设您的工作表中有一系列国家名称,您希望提取这些名称中每个单词的首字母。Excel 并未直接提供用于提取单元格中每个单词首字母的功能。不过,我将介绍一些实用的方法,帮助您高效完成此任务,让整个过程简单而有效。


使用公式从单元格中提取每个单词的首字母

要获取单元格内每个单词的首字母,以下数组公式可以帮助您实现。

1. 请将以下公式复制到您希望获取结果的空白单元格中,然后同时按下 Ctrl + Shift + Enter 键以获取第一个结果。

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

2. 接下来,向下拖动公式填充其他单元格。此操作将一次性自动提取每个单元格中每个单词的首字母。请参见截图:

Extract first letter of each word with formula

该公式的解释如下:
  • SUBSTITUTE(A2," ","</b><b>"):此函数将单元格 A2 中文本中的每个空格替换为 。这有效地用这些 XML 标签分隔了文本中的每个单词。例如,如果 A2 包含 "Hello World",则公式会将其转换为 "Hello</b><b>World"。
  • "<a><b>"&...&" </b></a>":这部分将 SUBSTITUTE 函数的结果用 <a><b> 包裹在开头,并用 </b></a> 包裹在结尾。继续上面的例子,字符串现在变为 <a><b>Hello</b><b>World</b></a>,形成一个有效的 XML 结构,其中每个单词都被包含在 <b> 标签中。
  • FILTERXML(...,"//b"):FILTERXML 用于解析前几步创建的 XML 字符串。XPath 查询 //b 选择所有位于 <b> 标签内的元素,即原始字符串中的每个单词。以我们的例子为例,FILTERXML 将返回一个包含两个元素的数组:“Hello” 和 “World”。
  • LEFT(...,1):接下来,LEFT 函数应用于 FILTERXML 返回的数组中的每个元素,提取每个单词的首字母。在示例中,这将得到 “H” 和 “W”。
  • CONCAT(...):最后,CONCAT 函数将数组中的所有元素连接成一个字符串。对于我们的 “Hello World” 示例,它会将 “H” 和 “W” 连接起来生成 “HW”。

使用 Kutools AI 助手从单元格中提取每个单词的首字母

借助 Kutools AI 助手快速提取单元格中每个单词的首字母。无需复杂公式,AI 助手为您自动化处理任务,使数据处理变得简单高效。优化您的 Excel 工作流程,让工作更轻松。立即试用 Kutools AI 助手,体验智能化的 Excel 操作!

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装 Kutools for Excel 后,请点击 Kutools AI > AI 助手 打开 Kutools AI 助手面板:

  1. 选择数据列表,然后在聊天框中输入您的需求,点击 发送 按钮或按 Enter 键发送问题;
  2. 分析完成后,点击 执行 按钮运行。Kutools AI 助手将使用 AI 处理您的请求,并直接在 Excel 中返回结果。


通过用户定义函数从单元格中提取每个单词的首字母

从单元格中提取每个单词的首字母是一项可以通过在 Excel 中使用用户定义函数 (UDF) 来大幅优化的任务。本节探讨如何创建和使用 UDF 来高效完成此任务。

1. 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口

2. 点击 插入 > 模块,并将以下代码粘贴到模块窗口中。

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. 然后保存并关闭此代码,返回工作表,在空白单元格中输入公式 =GetFirstLetters(A2)。接着,拖动填充柄应用公式到其他需要的单元格。所有单词的首字母都已从一系列单词中提取出来,请参见截图:

Extract first letter of each word with User Defined Function


相关文章:

  • 从文本字符串中提取前两个或 n 个单词
  • 如果您有一个由空格分隔的文本字符串列表,现在您想从单元格值中提取前两个或最后三个或 n 个单词以获得如下截图所示的结果。本文将介绍一些公式,用于从 Excel 中的文本字符串提取前两个或最后 n 个单词。
  • 仅提取空格或逗号前后的文本
  • 当您想从列表中提取空格前后的文本(如下图所示),是否有好的方法来完成呢?让我告诉您一些巧妙的方法,只提取 Excel 中空格前后的文本。
  • 从文本字符串中提取电子邮件地址
  • 当您从网站导入一些电子邮件地址到 Excel 工作表时,通常会包含无关文本,但现在您只想从文本字符串中提取纯电子邮件地址(见下图)。如何快速仅从单元格文本中提取电子邮件地址呢?
  • 提取两个不同字符之间的字符串
  • 如果您的 Excel 中有一系列字符串,需要从中提取两个字符之间的部分字符串(如下图所示),如何尽可能快地处理呢?这里,我将介绍一些解决此问题的方法。

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!