You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中查找字符串中某字符的最后出现位置?

Google Sheets 函数解决方案:字符最后出现位置与文件名内容提取

一、获取特定字符(短横线)的最后出现位置

要实现类似“从右侧开始的FIND”功能,定位字符串中最后一个短横线的位置,可以使用以下组合公式:

=FIND("@", SUBSTITUTE(A1, "-", "@", LEN(A1)-LEN(SUBSTITUTE(A1, "-", ""))))

公式说明

  1. LEN(A1)-LEN(SUBSTITUTE(A1, "-", "")):计算目标字符串中短横线的总数量
  2. SUBSTITUTE(A1, "-", "@", N):将字符串中第N个短横线替换为特殊字符@(这里N就是短横线的总数量,即最后一个短横线)
  3. FIND("@", ...):查找替换后@的位置,也就是原字符串中最后一个短横线的位置

示例验证

针对你提供的数据集:

  • 当单元格内容为ABC-DEF-GHI时,公式返回8
  • 当单元格内容为ABCD-EF-GH-IJK时,公式返回11
  • 当单元格内容为AB-C-DE-FGH-I-JK时,公式返回14

二、提取文件名结尾的学生姓名(格式:- ***.png)

针对文件名以- 学生姓名.png结尾的格式,这里提供两种可靠的提取方法:

方法1:使用REGEXEXTRACT(推荐)

正则表达式能高效适配长度可变、包含空格的姓名提取,公式如下:

=REGEXEXTRACT(A1, "-(.*)\.png$")

公式说明

  • -(.*):匹配最后一个短横线之后的所有内容(.*支持任意长度的任意字符,包括空格)
  • \.png$:匹配字符串结尾的.png(\是转义符,避免.被正则当作通配符)
  • 括号包裹的(.*)会直接提取出中间的学生姓名部分

方法2:使用MID结合位置公式

如果偏好使用基础函数组合,可以基于第一部分的位置公式实现:

=MID(A1, FIND("@", SUBSTITUTE(A1, "-", "@", LEN(A1)-LEN(SUBSTITUTE(A1, "-", "")))) + 1, LEN(A1) - FIND("@", SUBSTITUTE(A1, "-", "@", LEN(A1)-LEN(SUBSTITUTE(A1, "-", "")))) - 4)

公式说明

  1. FIND(...) +1:定位到最后一个短横线的下一个字符,作为姓名的起始位置
  2. LEN(A1) - FIND(...) -4:计算姓名的长度(总长度减去最后一个短横线的位置,再减去.png的4个字符长度)
  3. MID(A1, 起始位置, 长度):精准提取出中间的学生姓名

内容的提问来源于stack exchange,提问作者Justin Julius Ayran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:01:33