1. 概述
1.1 应用场景
在使用报表进行数据处理展示时,字段的截取、分列必不可少。
例如数据集中有字段结构为用某些分隔符连接起来的字符串,使用时需要拆分开只提取固定位置的字符串;或者替换某个字符。
此时即可使用一些文本函数对字符串进行处理。
1.2 实现思路
2. 截取固定位数字符
例如需要截取字符串的最后几位固定位数字符,截取「电话」号码的最后八位构建新字段「电话截取」,效果如下图所示:
2.1 新建数据集
新建普通报表,使用内置 Demo 数据「供应商」创建模板数据集,如下图所示:
2.2 报表设计
将「供应商ID」、「公司名称」、「电话」分别拖入 A2、B2、C2 单元格中,并在 A1、B1、C1 中输入表格表头字段「ID」、「公司名称」、「电话」,添加边框,得到效果如下图所示:
在 D2 单元格中使用 RIGHT 函数,输入公式:=RIGHT(C2,8),并在 D1 单元格中输入「电话截取」文字,然后增加边框,如下图所示:
2.3 效果查看
保存模板,并点击「分页预览」,效果参见本文第 2 节开头。
3. 截取某字符前或后的所有字符
例如用户账号和密码是通过:连在一起的,需要分别截取「用户账号和密码」字段中的账号和密码,构成新的两列「用户账号」和「用户密码」。
如下图所示:
示例数据:截取字段.xlsx
3.1 模板设计
创建普通报表,添加Excel数据集 并设计报表如下图所示:
在 B2 单元格输入公式=RIGHT(A2, LEN(A2) - FIND(":", A2)) 截取用户密码,在 C2 单元格输入公式=LEFT(A2, FIND(":", A2)-1) 截取用户账号,如下图所示:
公式说明:
公式 | 说明 |
---|---|
RIGHT(A2, LEN(A2) - FIND(":", A2)) | FIND(":", A2) 返回 用户账号和密码字符中:符号的位置 LEN(A2) - FIND(":", A2) 用户账号和密码字符长度减去:符号位置 即:后的字符长度 |
LEFT(A2, FIND(":", A2)-1) | FIND(":", A2)-1 用户账号和密码字符中:符号的位置-1 这是由于后续需要使用 LEFT 函数从左往右截取,如果不减去1,会取到:。 |
3.2 效果查看
保存模板,并点击「分页预览」,效果参见本文第 3 节开头。
4. 替换字符
例如用户需要将日期「2022-11-17」取消中间的 - ,将其替换为「20221117」,效果如下图所示:
4.1 模板设计
创建普通报表,定义内置数据集,再将「DATE」拖入 A2 单元格,如下图所示:
在 B2 单元格输入公式:=REPLACE(a2,"-",""),如下图所示:
4.2 效果查看
保存模板,并点击「分页预览」,效果参见本文第 4 节开头。
4.3 注意事项
如果需要在替换字符后只显示替换后的字符,可以将「销售时间」拖入单元格后,选择「单元格属性>形态>公式形态」,如下图所示:
输入公式:REPLACE($$$,"/",""),其中 $$$ 表示当前单元格,如下图所示:
注:示例给出的日期分割为 /,可根据实际需求调整。