反饋已提交

網絡繁忙

判斷多項字串至少一項被包含

1. 概述

1.1 應用場景

有時候我們要判斷一個多項字串是否至少有一項被另外個字串包含。

如:有一批貨原本是屬於"A 供貨商,B 供貨商"的,結果卻被"B 供貨商,C 供貨商"拼車拉走了。

這批貨有沒有出問題呢,只要判斷"A 供貨商,B 供貨商"中是否至少有一項在"B 供貨商,C 供貨商"中,如果有就沒問題。

1.2 實現思路

將兩個字串都轉化為陣列,判斷一個陣列的每一項是否存在其中一項在另外個陣列中,如果有,則包含,否則不包含。

2. 解決步驟

1)將字串1分割成陣列:=SPLIT(字串1,",")

2)確定第二個字串轉化為陣列:=IF(FIND(",", 字串2) > 0,SPLIT(字串2,","), ARRAY(字串2))

這是因為字串 2 中如果沒有分隔符,則=SPLIT(字串2,",")的結果還是一個字串。

字串 1 就算沒轉化成功也能參與後面的運算,就不強制。

3)判斷字串1轉化的陣列的每一項是否存在字串 2 陣列中:=GREPARRAY(字串1陣列, INARRAY(item, SPLIT(字串2陣列,",")) > 0)

這裏使用了 INARRAY( ) 函式來判斷是否存在, INARRAY( ) 的第二個參數一定要是陣列,這就是第二步需要強制轉化的原因。

4)判斷上一步結果的項數,項數大於0則包含,否則不包含:=IF(LEN(上一步結果)>0,"包含","不包含")

5)綜合判斷公式為:=IF(LEN(GREPARRAY(SPLIT(字串1,","), INARRAY(item, IF(FIND(",", 字串2) > 0, SPLIT(字串2,","), ARRAY(字串2))) > 0)) > 0, "包含", "不包含")

3. 範例

3.1 範本設計

1)將資料集欄位拖到儲存格 A2、B2 ,如下圖所示:

2)依次選中 C2~G2 儲存格,設定形態公式,如下表所示:


儲存格公式作用
C2SPLIT(A2,",")將字串1分割成陣列
D2IF(FIND(",", B2) > 0, SPLIT(B2,","), ARRAY(B2))第二個字串轉化為陣列
E2GREPARRAY(C2, INARRAY(item, SPLIT(D2,",")) > 0)判斷字串1轉化的陣列的每一項是否存在字串 2 陣列
F2IF(LEN(E2)>0,"包含","不包含")判斷上一步結果的項數,項數大於0則包含,否則不包含
G2IF(LEN(GREPARRAY(SPLIT(A2,","), INARRAY(item, IF(FIND(",", B2) > 0, SPLIT(B2,","), ARRAY(B2))) > 0)) > 0, "包含", "不包含")整合公式

3.2 效果預覽

1)PC端

儲存範本,點選PC端預覽,如下圖所示:

2)行動端

4. 範本下載

附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙