截取字段中的指定字符
1. 概述
1.1 问题描述
用户需要获取字段中的某一段的内容。本文将介绍以下五个场景:
需求 | 实现效果 |
截取固定位数的字符 | |
截取某个字符前的所有的字符 | |
截取某个字符后的所有字符 | |
从某个字符开始截取不固定长度的字符 | |
去掉字段前后固定数目的字符 |
1.2 功能简介
- 上述五个场景中,可组合使用公式来实现对应效果,本文介绍对应的公式以及公式的说明,用户可根本实际场景调整公式;
- 前四个场景,还可以使用「字段拆列」功能来实现。
2. 截取固定位数的字符
2.1 操作步骤
以 RIGHT 函数为例,使用公式:RIGHT([电话号码],8),截取「电话」号码的最后八位构建新字段。如下图所示:
公式说明:
函数 | 实现的功能 |
RIGHT([电话],8) | 从字符串右边开始,返回 8 个长度的字符 |
2.2 实现效果
截取字符串的最后 8 位固定位数字符,效果如下图所示:
3. 截取某个字符前的所有的字符
示例数据:截取字段.xlsx
3.1 操作步骤
组合 LEFT 和 FIND 函数,使用公式:LEFT([用户账号和密码],FIND(":",[用户账号和密码])-1)。如下图所示:
公式说明:
公式 | 说明 |
FIND(":",[用户账号和密码]) | 找到「:」在「用户账号和密码」字段中处于第几位 |
LEFT([用户账号和密码],FIND(":",[用户账号和密码])-1) | 从左侧往右提取字段中的字符,提取的字符个数为使用 FIND() 函数找到字段中「:」所在位置序号-1,即返回「:」之前的字符。 |
3.2 效果展示
从字符串中获取「:」之前的所有字符,如下图所示:
4. 截取某个字符后的所有字符
示例数据:截取字段.xlsx
4.1 操作步骤
公式说明:
公式 | 说明 |
FIND(":",[用户账号和密码]) | 找到「:」在「用户账号和密码」字段中处于第几位 |
LEN([用户账号和密码])-FIND(":",[用户账号和密码]) | 提取的字符个数为使用 LEN() 函数得出的字段字符长度 - 使用 FIND() 函数找到字段中「:」所在位置序号,即「:」之后的字符数 |
RIGHT([用户账号和密码],LEN([用户账号和密码])-FIND(":",[用户账号和密码])) | 从右侧往左提取字段中的字符,即「:」之后的字符 |
4.2 实现效果
截取「:」后的所有字符,如下图所示:
5. 从某个字符开始截取不固定长度的字符
示例数据:截取字段-不固定长度.xlsx
5.1 操作步骤
组合 MID 、 FIND 函数,使用公式:MID([用户账号和密码],FIND(":",[用户账号和密码])+1,FIND(",",[用户账号和密码])-FIND(":",[用户账号和密码])-1)。如下图所示:
公式说明:
公式 | 说明 |
FIND(":",[用户账号和密码])+1 | 截取字段的起始位置=使用 FIND() 函数找到「:」所在位置+「:」的长度 1 。 |
FIND(",",[用户账号和密码])-FIND(":",[用户账号和密码])-1 | 截取字符串的长度=「,」所在位置序号 - 「:」所在位置序号 -1 。 |
MID([用户账号和密码],FIND(":",[用户账号和密码])+1,FIND(",",[用户账号和密码])-FIND(":",[用户账号和密码])-1) | 从「用户账号和密码」字符串中的「:」后,获取中间代表密码的部分字符。 |
5.2 实现效果
获取「:」后到「,」前的所有字符。如下图所示:
6. 去掉字段前后固定数目的字符
示例数据:文本截取.xlsx
6.1 操作步骤
公式说明:
公式 | 说明 |
LEN([省份[)-3 | 获取省份字段的长度,并减去 3 |
LEFT([省份],LEN([省份])-3) | 从左截取省份字段的前 LEN([省份])-3 位 |
6.2 实现效果
去掉字段最后的「分公司」后缀,如下图所示: