历史版本13 :截取、替换字符串 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在使用报表进行数据处理展示时,字段的截取、分列必不可少。

例如数据集中有字段结构为用某些分隔符连接起来的字符串,使用时需要拆分开只提取固定位置的字符串;或者替换某个字符。

此时即可使用一些文本函数对字符串进行处理。

1.2 实现思路

使用 LENLEFTRIGHTREPLACEFIND 等文本函数。

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. 替换字符编辑

例如用户需要将日期「2010-02-17」取消中间的 - ,将其替换为「20100217」,效果如下图所示:

4.1 模板设计

创建普通报表,使用内置数据集「RFM明细数据」创建模板数据集,将「DATE」拖入 A2 单元格,设计报表如下图所示:

在 B2 单元格输入公式:=REPLACE(a2,"-",""),如下图所示:

4.2 效果查看

保存模板,并点击「分页预览」,效果参见本文第 4 节开头。

4.3 注意事项

如果需要在替换字符后只显示替换后的字符,可以将「销售时间」拖入单元格后,选择「单元格属性>形态>公式形态」,如下图所示:

输入公式:REPLACE($$$,"/",""),其中 $$$ 表示当前单元格,如下图所示:

注:示例给出的日期分割为 /,可根据实际需求调整。