計算字串中指定字元個數

1. 概述

1.1 版本

報表伺服器版本功能變更
11.0-

1.2 應用場景

希望找出目標字串中指定字元共有多少個。

例如,希望找出目標字串中 A 或 AA 字元的個數,如下圖所示:

2. 實現思路

2.1 單個指定字元

將目標字串拆分為陣列,使用指定字元過濾陣列得到新陣列,然後統計新陣列長度,即為指定字元的個數。

1)將目標字串拆分為陣列,分隔符為空,公式為:SPLIT(目標字串, "")

2)使用指定字元過濾上一步得到陣列得到新陣列,公式為:GREPARRAY(上一步結果, item = "A")

3)統計新陣列長度,公式為:LEN(上一步結果)

4)綜合公式為:LEN(GREPARRAY(SPLIT(目標字串, ""), item = "A"))

2.2 單個或多個指定字元

用指定字元和附加符連接目標字串得到一個新字串,將新字串拆分為陣列,然後統計陣列長度減去 2 ,即為指定字元的個數。

1)用指定字元和附加符連接目標字串得到一個新字串,這裏指定字元為 AA,附加符為 - ,公式為:CONCATENATE("AA",目標字串,"-" )

  • 在前面連接一個指定字串,保證目標字串裏完全沒有指定字元的情況下,第二步的分割函式也能生效。

  • 在後面連接一個附加符,防止指定字元剛好在目標字串的末尾,附加符可以是任何不包含於指定字元的字元。

2)將上一步得到的新字串拆分為陣列,分隔符為指定字串 AA ,公式為:SPLIT(上一步結果,"AA")

3)計算陣列的長度並減去 2 ,公式為:LEN(上一步結果)-2

4)綜合公式為:LEN(SPLIT(CONCATENATE("AA",目標字串,"-"),"AA"))-2

3. 範例

3.1 建立報表

點選頂部菜單欄「檔案>建立普通報表」,建立一張普通報表。如下圖所示:


3.2 準備資料

建立一個內建資料集 Embedded1 。如下圖所示:


3.3 設計報表

1)A1-F1 儲存格輸入正文,A2、A3 儲存格輸入正文,B2、B3 儲存格拖入資料集欄位設計報表樣式。如下圖所示:


2)依次選中 C2-F2、C3-F3 儲存格,分別插入公式,如下圖所示:


公式說明如下表所示:

儲存格
公式說明
C2
SPLIT(B2, "")將目標字串拆分為陣列
D2GREPARRAY(C2, item = "A")使用指定字元過濾目標陣列形成新陣列
E2LEN(D2)透過 LEN( ) 函式來計算新陣列的長度
F2LEN(GREPARRAY(SPLIT(B2, ""), item = "A"))整合 C2-E2 的綜合公式
C3CONCATENATE("AA",B3,"-")用指定字串和附加符連接目標字串
D3SPLIT(C3,"AA")將目標字串拆分為陣列
E3LEN(D3)-2透過 LEN( ) 函式來計算陣列的長度
F3LEN(SPLIT(CONCATENATE("AA",B3,"-"),"AA"))-2整合 C3-E3 的綜合公式

3.4 效果預覽

3.4.1 PC端

PC 端效果如下圖所示:

3.4.2 行動端

行動端效果如下圖所示:

4. 範本下載

附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙