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. 截取某字元前或後的所有字元
例如使用者帳號和密碼是透過:連在一起的,需要分別截取「使用者帳號和密碼」欄位中的帳號和密碼,構成新的兩欄「使用者帳號」和「使用者密碼」。
如下圖所示:
範例資料:截取某字元前或後的所有字元.cpt
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($$$,"-",""),其中 $$$ 表示當前儲存格,如下圖所示:
注:範例給出的日期分割為 /,可根據實際需求調整。