2019-08-06

〔EXCEL〕範例-將姓名中間字改成○--h007

【如何將姓名中間字改成○】


今天一位學員問我,怎麼快速將大量姓名中間的字換成○?
其實解決問題的方法很多,越白話越簡單越好記…




以下列舉2個方式來解決這個問題:<可使用第2個方式,但不能不熟悉第1個方式,哈哈>

1. 用左邊第1個字 + ○ + 右邊第1個字
    (這是最直覺最白話的方式)

= LEFT(B3,1) & "○" & RIGHT(B3,1)    '這叫直譯式寫法,哈哈!

但若名字有4個(甚至更多)或只有2個字呢?
可以加入長度的判斷來決定

= LEFT(B3,1) & IF(LEN(B3)>3,"○",LEFT("○○○○",LEN(B3)-2)) & IF(LEN(B3)>2,RIGHT(B3,1),"")

其中
.IF(LEN(B3)>3,"○",LEFT("○○○○",LEN(B3)-2))
→若姓名長度>3(四個字以上),就換長度-2個○(目前最多是6個字)
.IF(LEN(B3)>2,RIGHT(B3,1),"")
→若姓名長度>2,就放入姓名最後一個字(也就是說2個字的,就不放最後一個字)


2. 用置換的方式,將中間的字換成○
利用REPLACE函數,將指定位置的字元替換成○

= REPLACE(原字串 , 從第幾碼開始替換 , 替換幾個字元 , 替換的文字 )
= REPLACE(B3,2,1,"○")

同樣的,針對姓名2個字或4個字以上的增加判斷處理
= REPLACE( B3 , 2 , IF(LEN(B3)>3,LEN(B3)-2,1) , IF(LEN(B3)<3,"○",LEFT("○○○○",LEN(B3)-2)) )
其中
.IF(LEN(B3)>3,LEN(B3)-2,1)
→若姓名長度>3,則替換掉長度-2的字元(4個字替換掉中間2個字)
.IF(LEN(B3)<3,"○",LEFT("○○○○",LEN(B3)-2))
→若長度<3,僅替換1個○,否則替換長度-2個○(4個字中間替換成2個○)


章老師的電腦小講堂 https://www.facebook.com/ScenicSchool/
※※ 本區做為經常使用之程式碼複製區,提問請至小講堂唷 ※※
5 章老師的電腦小講堂: 〔EXCEL〕範例-將姓名中間字改成○--h007 【如何將姓名中間字改成○】 今天一位學員問我,怎麼快速將大量姓名中間的字換成○? 其實解決問題的方法很多,越白話越簡單越好記… 以下列舉2個方式來解決這個問題:<可使用第2個方式,但不能不熟悉第1個方式,哈哈> 1. 用左邊第1個字 + ○ ...
小講堂經過多次搬移,舊文章連結及內容較難整理~
大家可以新文章為主~
每篇文章後有代碼,任何文章問題可至FB小講堂用代碼提問唷~