2374 |
如何將多欄資料非數值字串合併到同一儲存格-AND、UPPER、CODE、LEFT、CONCAT、IF函數 |
Soumillon:「錦子老師,如下圖,我要將第2列到第5列每個人含有英文字的儲存格合併到B9:B12儲存格中,不知公式要如何設定。
謝謝。」
錦子老師:「點取B9儲存輸入公式:
=Concat(If(And(Code(Upper(Left(B2,1)))<=90,Code(Upper(Left(B2,1)))>=65),B2&" ",""), If(And(Code(Upper(Left(C2,1)))<=90,Code(Upper(Left(C2,1)))>=65),C2&" ",""), If(And(Code(Upper(Left(D2,1)))<=90,Code(Upper(Left(D2,1)))>=65),D2&" ",""), If(And(Code(Upper(Left(E2,1)))<=90,Code(Upper(Left(E2,1)))>=65),E2&" ",""))
後複製公式到B10:B12儲存格即可以。
【公式解說】
LEFT(字串,抓取字元數) 抓取字串從左邊開始幾個字元。
UPPER(英文字串) 將英文字串改成大寫。
CODE(字元) 傳回字元的ASCII碼,A為65,Z為90,a為97,z為112。
AND(條件1,條件2..條件255) 若所有條件為真則傳回TRUE,否則傳回FALSE。
IF(條件,成立之動作,不成立之動作)
CONCAT(字串1,字串2…字串255) 合併各個字串組成一個字串。
Left(B2,1) 傳回B2儲存格左邊第一個字元。
Upper(Left(B2,1)) 將Left(B2,1)傳回字元變大寫。
Code(Upper(Left(B2,1))) 傳回Upper(Left(B2,1))的ASCII碼為多少。
If(And(Code(Upper(Left(B2,1)))<=90,Code(Upper(Left(B2,1)))>=65),B2&" ","") 如果傳回ASCII碼大於等於65且小於等於90,則填入B2儲存格內容加空白字元,否則不填入資料。
部落格相關範例
2018.12.16 |
|
2019.10.24 |
|
2017.04.06 |
|
2020.06.26 |
|
2018.07.09 |
|
2019.05.29 |
|
2018.11.19 |
|
2017.12.28 |
|
2017.05.25 |
|
2019.09.24 |
|
2019.07.29 |
|
2019.10.26 |
|
2017.04.20 |
|
2020.10.25 |
|
2020.02.29 |
|
2020.02.13 |
|
2020.05.15 |
|
2019.08.21 |
|
2018.11.26 |
|
2020.02.11 |
|
2019.12.19 |
|
2019.12.19 |
|
2012.01.30 |
留言列表