1. 概述
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, "") | 將目標字串拆分為陣列 |
D2 | GREPARRAY(C2, item = "A") | 使用指定字元過濾目標陣列形成新陣列 |
E2 | LEN(D2) | 透過 LEN( ) 函式來計算新陣列的長度 |
F2 | LEN(GREPARRAY(SPLIT(B2, ""), item = "A")) | 整合 C2-E2 的綜合公式 |
C3 | CONCATENATE("AA",B3,"-") | 用指定字串和附加符連接目標字串 |
D3 | SPLIT(C3,"AA") | 將目標字串拆分為陣列 |
E3 | LEN(D3)-2 | 透過 LEN( ) 函式來計算陣列的長度 |
F3 | LEN(SPLIT(CONCATENATE("AA",B3,"-"),"AA"))-2 | 整合 C3-E3 的綜合公式 |
3.4 效果預覽
3.4.1 PC端
PC 端效果如下圖所示:
3.4.2 行動端
行動端效果如下圖所示:
4. 範本下載
點選下載範本:計算字串中指定字元個數.cpt