在线 Excel 编辑器
免费使用

RIGHT 函数:语法、示例与错误排查

更新于 2026-10-14 · 免费 · 兼容 Excel 与 Google Sheets

语法

=RIGHT(text, [num_chars])

快速答案

RIGHT 从单元格末尾取字符:=RIGHT(A2, 4) 把「AE-2026-041」变成「-041」。字符数省略时默认 1,要得比文本长只会原样返回整格内容,而且结果永远是文本——哪怕看着像数字。

语法

=RIGHT(text, [num_chars])
参数含义
text存放待切文本的单元格或字面量。必填。
[num_chars]从末尾取几个字符:4 取后四个。省略时 RIGHT 只取一个。必须为 0 或正数——负数返回 #VALUE!。

视区域设置不同,参数可能用分号而不是逗号分隔:=RIGHT(A2; 4)。在用逗号作小数分隔符的国家/地区是标准行为。

RIGHT 数的是字符,不是字节也不是词:一个字母、一个数字、一个空格、一个表情都各占一个计数。位置从末尾倒着数——不存在第 0 个字符。

基本示例

=RIGHT(A2, 4)

定宽数据的主力:产品编码「AE-2026-041」交出后缀「-041」,电话号码交出后四位,账号交出校验位——只要有效信息永远在最后 N 个字符,就是它的主场。

=RIGHT(A2, LEN(A2) - SEARCH(" ", A2))

动态升级版:SEARCH 找到第一个空格,LEN 量出整格长度,RIGHT 取空格之后的全部,所以「Jane Doe」得到「Doe」,「Winston Churchill」得到「Churchill」——切点跟着数据走,不再写死数字。

=RIGHT(A2, LEN(A2) - FIND("@", A2))

从「john.doe@example.com」取出邮箱域名——「example.com」。区分大小写时用 FIND(大小写敏感);不在乎大小写或要用通配符时用 SEARCH。

=IFERROR(RIGHT(A2, LEN(A2) - SEARCH("-", A2)), A2)

生产环境版本:没有横杠的行本来会因 SEARCH 找不到而炸成 #VALUE!。包上 IFERROR 后,这些行原样返回,整列不再崩。

RIGHT 切出来的哪怕是数字也返回文本:RIGHT(123456, 3) 得到文本「456」,不能求和。数字提取要包 VALUE(=VALUE(RIGHT(A2, 3)));另外日期底层是序列号——RIGHT 切的是序列号而不是显示的日期。

常见错误与修复方法

症状最常见原因修复
#VALUE!字符数为负数——或喂给它的 FIND/SEARCH 没找到分隔符,FIND 自己先返回了 #VALUE!。用正数计数,给查找分隔符的公式包 IFERROR 兜底,或先排查缺分隔符的数据行。
只返回一个字符省略了 num_chars——不写时 RIGHT 默认取 1。补上计数:=RIGHT(A2, 4)。真的只想要一个字符时,显式写 1 也能让意图更清楚。
切点早一个或晚一个字符分隔符附近差一:不含分隔符就不用额外加减,要保留分隔符就减 1。拿一行数一遍——LEN 减去分隔符位置,得到的就是分隔符之后那段(不含分隔符本身)的字符数。
取出的数字不能计算RIGHT 永远返回文本,所以「007」还是「007」,「456」不求和。=VALUE(RIGHT(A2, 3)) 把切出的数字转成真数值(前导零会丢,它们本来就是文本)。
结果整体前移单元格末尾有看不见的填充空格,最后几个字符是空格而不是字母。先清洗:=RIGHT(TRIM(A2), 4),或一次性给整列去空格。

不算错误但很经典:向 RIGHT 要的字符数超过文本长度时,返回整格内容而不报错。=RIGHT("Hi", 50) 就是「Hi」——做「最多取 N 个字符」的安全截断很好用,但在你期待警告时会很困惑。

RIGHT 与 MID 对比

RIGHTMID
从哪里开始切永远是最后一个字符你指定的任意位置:=MID(A2, 5, 3)
参数文本 + 字符数文本 + 起始位置 + 字符数
最适合后缀、姓氏、文件扩展名、校验位中间片段——区号、两个分隔符之间的部分
动态终点只有起点能动(靠 FIND/SEARCH 和 LEN)两端都能动——FIND 可以喂给起始位置

RIGHT 就是末尾锚定不动的专用 MID:当单元格够长时,=RIGHT(A2, 4) 与 =MID(A2, LEN(A2) - 3, 4) 等价。当片段可能出现在末尾以外的任何位置时,就换 MID——解析公式里这两个函数经常嵌套在一起。

RIGHT 与分列、TEXTAFTER 对比

RIGHT(+ FIND/SEARCH)分列TEXTAFTER(Microsoft 365)
输出新列里的活公式,源数据不动就地拆分单元格,不小心会覆盖旁边的列活公式:=TEXTAFTER(A2, " ")
分隔符逻辑用 FIND/SEARCH 和 LEN 减偏移手搭对话框驱动,重复分隔符可视化处理一个参数——不用 FIND,不用算 LEN
新增行能否存活能——向下填充即自动重算不能——新数据要重跑能——天生动态
可用版本所有 Excel 版本和 Google Sheets所有 Excel 版本仅 Excel 365 / 2021 及以后

按生命周期选:要扛住反复导入和刷新的解析用 RIGHT 公式,对成品表做一次性整形用分列,Excel 够新且只需要「分隔符之后的全部」就用 TEXTAFTER。

Google Sheets 中的 RIGHT

  • 语法和默认值完全一致——上面的公式可原样粘贴到 Sheets。
  • 逗号作小数分隔符的地区用分号:=RIGHT(A2; 4),与 Excel 一样。
  • FIND 仍区分大小写,SEARCH 仍不区分且支持通配符——搭档行为一致。
  • 按模式取后缀时 Sheets 还有 REGEXEXTRACT,一条表达式就能取「最后一个点之后的全部」,不用嵌套 FIND。

限制与进阶技巧

  • 一次调用只切一刀:把一个编码拆三段需要三列——LEFT、MID、RIGHT 并排是经典解析布局。
  • FIND 和 SEARCH 要有意识地选:空格、@ 这类不区分大小写的分隔符用 SEARCH,「a」和「A」必须区分时用 FIND。
  • 每个靠分隔符的提取都包 IFERROR——否则一行缺分隔符,#VALUE! 就会顺着整列蔓延。
  • 切完的数字仍然是文本:=VALUE(RIGHT(A2, 3)) 是回到可计算数字的路。
  • 要取第 n 个分隔符之后的文本,嵌套 SEARCH:SEARCH("-", A2, SEARCH("-", A2) + 1) 找到第二道横杠,RIGHT 从那里取到末尾。

把 RIGHT 当作解析流水线的最后一站:TRIM 去填充、SEARCH 找分隔符、LEN 量长度、RIGHT 切取、结果是数字再用 VALUE 转换。每一站独占一列,下个月导入格式变了,只需要改一条公式。

相关工具

相关函数

常见问题

RIGHT 函数在 Excel 中有什么用?

它从单元格末尾返回指定数量的字符:=RIGHT(A2, 4) 取后四个。不写数量时只取一个;与 FIND 或 SEARCH 加 LEN 搭配,切点就能跟着空格、@ 等分隔符移动。

怎么用 RIGHT 提取空格之后的文本?

先定位分隔符再减长度:=RIGHT(A2, LEN(A2) - SEARCH(" ", A2)) 取第一个空格之后的全部。SEARCH 不分大小写,FIND 分;整体再包一层 IFERROR,缺分隔符的行就不会出错。

为什么 RIGHT 返回 #VALUE!?

要么字符数为负,要么内嵌的 FIND/SEARCH 没找到分隔符——FIND 找不到时自己就返回 #VALUE!,RIGHT 跟着继承。用 IFERROR 兜底,并检查哪些行缺分隔符。

RIGHT 和 MID 有什么区别?

RIGHT 永远从最后一个字符开始倒着切,只需一个计数;MID 从你指定的位置开始,需要起始位置和计数两个参数。RIGHT 适合后缀和姓氏,MID 适合埋在中间的片段。

为什么 RIGHT 取出的数字不能计算?

RIGHT 返回文本,它的「456」是标签不是值。用 =VALUE(RIGHT(A2, 3)) 转换——但注意前导零在真数字里会消失,因为它们本来就只是文本。

num_chars 比文本长会怎样?

RIGHT 直接返回整格内容——=RIGHT("Hi", 50) 就是「Hi」,不报错也不补位。这条规则让超大计数可以安全地表达「最多取 N 个字符」。

RIGHT 在 Google Sheets 里能用吗?

能——名字、参数、FIND/SEARCH 搭档和逗号小数地区的分号约定都一样。Sheets 另外还提供基于正则提取的 REGEXEXTRACT。

准备好处理你自己的文件了吗?

打开Excel 文本分列 — 免费