- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-5-5
|
9#
發表於 2023-2-18 15:44
| 只看該作者
本帖最後由 Andy2483 於 2023-2-18 15:46 編輯
回復 6# 准提部林
謝謝前輩,請前輩再指導
1.先在客戶基本資料表設輔助欄(B欄)
1.1.植入=IF(單!$Q$8="","",IF(ISERR(SEARCH(單!$Q$8,C2&D2&"/")),"",ROW(A2))) :顯示 空白或列號
1.2.SEARCH(單!$Q$8,C2&D2&"/"): 回傳 字元位置
以 單!$Q$8值字串當要找尋的文字, 用SEARCH()搜尋 C2&D2&"/" 所組成的新字串 回傳 所在的開始位置
單!$Q$8 ="中華*1020/" : 是要找尋的文字,而中間有個 * 萬字元,所以找尋的文字串是: 以 "中華" 開頭, 以 "1020/" 結尾的連續字串的意思
最後的 "/" 是為了確定是字串的結尾字元
如果要找尋的文字不在 C2&D2&"/" 所組成的字串裡! 則會傳回 #VALUE! 錯誤值。
1.3.ISERR(字元位置): 錯誤值判定 回傳1或0
如果 字元位置 回傳 #VALUE! 錯誤值! 錯誤值判定是1
但如果 字元位置是數字! 錯誤值判定是0
1.4.IF(錯誤值判定,"",ROW(A2))) :空白或列號
IF(單!$Q$8="","",空白或列號)
如果 單!$Q$8 是空白!就不必SEARCH(),在儲存格顯示空白
否則就回傳 IF(ISERR(SEARCH()),"",ROW(A2))是空白或列號,顯示在儲存格
2.[Q9]=INDEX(客戶基本資料!C:C,SMALL(客戶基本資料!B:B,ROW(A1)))&"_"&INDEX(客戶基本資料!D:D,SMALL(客戶基本資料!B:B,ROW(A1)))
中華電信股份有限公司_66001020001020
2.1.顯示 回傳戶名&"_" & 回傳帳號
2.2.回傳戶名=INDEX(客戶基本資料!C:C,SMALL(客戶基本資料!B:B,ROW(A1))) ="中華電信股份有限公司"
ROW(A1) =1
SMALL(客戶基本資料!B:B,ROW(A1)) =2
回傳 客戶基本資料!B欄第1小的值
INDEX(客戶基本資料!C:C,SMALL(客戶基本資料!B:B,1))
INDEX(客戶基本資料!C:C,2)
回傳 客戶基本資料!C2儲存格的值
2.3.回傳帳號=INDEX(客戶基本資料!D:D,SMALL(客戶基本資料!B:B,ROW(A1)))
ROW(A1) =1
SMALL(客戶基本資料!B:B,ROW(A1)) =2
回傳 客戶基本資料!B欄第1小的值
INDEX(客戶基本資料!D:D,2)
回傳 客戶基本資料!D2儲存格的值 = "66001020001020" |
|