在特定字符的最后一个实例之后提取文本
如果您有包含多个定界符的复杂文本字符串列表(以下面的屏幕快照为例,其中包含连字符,逗号,单元格数据中的空格),现在,您要查找最后一个连字符的位置,然后提取其后的子字符串。 本文中,我将介绍一些用于处理此任务的公式。
公式1:在特定定界符的最后一个实例之后提取子字符串
在Excel中,结合了LEN,SEARCH,SUBSTITUTE函数的RIGHT函数可以帮助您创建解决该问题的公式。
1。 要在最后一次出现连字符后提取子字符串,请输入以下公式或将其复制到空白单元格中:
2。 然后,将填充手柄向下拖动到要应用此公式的单元格上,您将获得结果,如下图所示:
公式说明:
1. LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)):此部分用于获取单元格A2中的连字符数。
- LEN(A2):此LEN函数返回单元格A2中的字符总数。 它将返回:44。
- SUBSTITUTE(A2,“-”,“”):此SUBSTITUTE函数用于替换所有连字符。 您将得到如下结果:InsertDeleterows,工作表,图像,公式“。
- LEN(SUBSTITUTE(A2,“-”,“”):获取单元格A2中不含连字符的文本字符串的总长度。
- LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)):从总字符串长度中减去不带连字符的文本字符串的长度,得到连字符的数目,这将得到2。
2. SUBSTITUTE(A2,“-”,“#”,LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”))):此SUBSTITUTE函数用于将第一个部分公式返回的连字符的最后一次出现替换为#字符。 您将得到以下结果:插入-删除#行,图纸,图像,公式“。
3. SEARCH(“#”,SUBSTITUTE(A2,“-”,“#”,LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)))))= SEARCH(“#”,“ Insert-Delete#行,工作表,图像,公式”):此SEARCH函数将返回SUBSTUTTE函数返回的文本字符串中#字符的位置。 它将得到数字14。
4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))):公式的此部分将获取最后一个连字符后有多少个字符。 这将得到数字30。
5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= 右(A2,30):最后,使用RIGHT函数从单元格A30中文本字符串的右侧提取4个字符,这些字符由步骤2中的公式返回。
笔记:
1.如果您需要在最后一次出现其他定界符之后提取文本,则只需要根据需要使用另一个定界符来更改连字符。
2.如果文本字符串中没有特定的定界符,则上面的公式将获得错误值,请参见屏幕截图:
要解决此错误,您可以将上面的公式包含在IFERROR函数中,请应用以下公式:
公式2:在特定定界符的最后一个实例之后提取子字符串
这是由TRIM,RIGHT,SUBSTITUTE,REPT和LEN函数创建的另一个简单公式,也可以帮助您在Excel中解决此任务。
1。 请将以下公式复制或输入到要获取结果的空白单元格中:
2。 然后,将填充手柄向下拖动到要应用此公式的单元格上,并提取了最后一个连字符之后的所有子字符串,如下图所示:
公式说明:
1. LEN(A2):此LEN函数返回单元格A2中的字符总数。 这将在RIGHT函数中识别为num_chars参数。 它将返回:44。
2. SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))):
- REPT(“”,LEN(A2):此REPT函数用于根据单元格A2的长度获取多个空格字符串。
- SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))):此SUBSTITUTE函数将用REPT函数返回的空格字符串替换单元格A2中的连字符。
该部分公式将被识别为RIGHT函数中的text参数。
3. RIGHT(SUBSTITUTE(A2,“-”,REPT(“”,LEN(A2))),LEN(A2)):此RIGHT函数将从SUBSTITUTE函数返回的文本字符串的右侧获取文本。
4. TRIM():此TRIM函数用于删除所有多余的空格,并且在单词之间仅保留一个空格。
使用的相对功能:
- RIGHT:
- RIGHT函数从文本字符串的右侧提取特定数量的字符。
- SEARCH:
- SEARCH函数可以帮助您从给定的文本中查找特定字符或子字符串的位置。
- LEN:
- LEN函数返回文本字符串中的字符数。
- SUBSTITUTE:
- Microsoft Excel SUBSTITUTE函数用另一个文本或字符替换文本字符串中的文本或字符。
- TRIM:
- TRIM函数从文本字符串中删除所有多余的空格,并且仅在单词之间保留单个空格。
- REPT:
- REPT功能用于将字符重复指定的次数。
更多文章:
- 从一个单元格中提取多行
- 现在,如果您有由换行符分隔的文本字符串列表(在输入文本时按Alt + Enter键会发生这种情况),现在,您要将这些文本行提取到多个单元格中,如下面的屏幕截图所示。 您如何用Excel中的公式解决它?
- 从Excel中的文本字符串中提取第N个单词
- 现在,如果有文本字符串或句子的列表,则要从列表中提取特定的第n个单词,如下图所示。 本文,我将介绍一些在Excel中解决此工作的方法。
- 从文本字符串中提取括号之间的文本
- 现在,如果文本字符串中有一部分用括号括起来,则需要提取括号之间的所有文本字符串,如下面的屏幕截图所示。 您如何在Excel中快速轻松地解决此任务?
- 在Excel中从文本字符串提取子字符串
- 您可能需要从文本字符串中提取子字符串,这对您来说是一项常见的任务,在Excel中,没有直接执行此操作的功能,但是借助LEFT,RIGHT,MID和SEARCH函数,您可以提取您需要的各种子字符串。
最佳办公效率工具
Kutools for Excel-帮助您从人群中脱颖而出
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级VLookup: 多重标准 | 多重价值 | 跨多页 | 模糊查询... | |
副词。 下拉列表: 简易下拉列表 | 依赖下拉列表 | 多选下拉列表... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 将列与 选择相同和不同的单元格 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符 ...) | 50+ 图表 类型 (甘特图 ...) | 40+ 实用 公式 (根据生日计算年龄 ...) | 19 插入 工具 (插入二维码, 从路径插入图片 ...) | 12 转化 工具 (小写金额转大写, 货币兑换 ...) | 7 合并与拆分 工具 (高级组合行, 拆分 Excel 单元格 ...) | ... 和更多 |
Kutools for Excel 拥有超过 300 个功能, 确保只需点击一下即可获得您所需要的...
Office 选项卡 - 在 Microsoft Office(包括 Excel)中启用选项卡式阅读和编辑
- 一秒钟即可在数十个打开的文档之间切换!
- 每天为您减少数百次鼠标单击,告别鼠标手。
- 查看和编辑多个文档时,可将您的工作效率提高50%。
- 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。