Excel如何替換存貨料號編碼




最近工作上遇到一個案例,收到的文件有一欄是存貨料號,但這個料號,有一碼被弄成了「*」,具體原因不明,對方只是說有另外一欄是客戶代碼,把客戶代碼第一碼替換存貨料號的「*」,便是系統裡的存貨料號了。以下針對這個案例作分享:

一、如圖所示, 我收到的報表長這樣,標黃色的,便是被搞了一個星字號的存貨料號。

被搞了一個星字號的存貨料號

二、直覺想法,既然是倒數第二碼末兩碼,那就來個「=RIGHT(B6,2)」,取目標字串末兩碼,先把有問題的抓出來再說,可是隨即發現,在「E6」這個儲存格,竟然顯示空白,通常會出現這種靈異現象,是因為目標字串由於不知名原因(有時候是系統導出來就是這樣),末兩碼真的就是空格。我們可以簡單做個實驗,再下個函數公式:「=LEN(B6)」,意思是傳回文字字串中的字元數,結果是「9」,但是「O178E*Q」怎麼數都是只有七位數,這就表示,後面還有兩碼是空格,看不見。

=RIGHT(B6,2)

三、雖然看不見,但是摸得到,把滑鼠點在「B6」儲存格,發現指標停在字串後面兩格,往左移動指標,便可摸到這兩個空格。

指標停在字串後面兩格

四、確認問題點,那就好辦了,在E欄弄個公式:「=TRIM(B6)」。

=TRIM(B6)

五、接下來理所當然:「RIGHT(E6,2)」,有星字號的會出現在第一碼,如圖片上標黃色所示,或者不囉嗦一次到位:「=MID(TRIM(B6),LEN(TRIM(B6))-1,1)」,很漂亮地把星字號都揪出來。

=MID(TRIM(B6),LEN(TRIM(B6))-1,1)

六、講這麼多,純粹是我遇到這個案例的個人解題思路,如果只是要把帶有星字號的儲存格找出來,最直接的公式:「=FIND(“*”,B6)」。然後如果是將星字號以客戶首碼替代,一次到位不囉嗦但是很噁心的公式如下:「=IFERROR(REPLACE(B6,FIND(“*”,B6),1,LEFT(A6,1)),B6)」,結果如圖所示。

=IFERROR(REPLACE(B6,FIND("*",B6),1,LEFT(A6,1)),B6)

七、如果有遇到會計Excel高高手傳來的文件,發現裡面公式寫的劈哩叭啦,可以把滑鼠移動公式列,看是對哪一個函數想要進一步瞭解,只要點一下公式列左邊的「fx」便會跳出函數說明的視窗,非常便於理解,有興趣點看看吧!

點一下公式列左邊的「fx」便會跳出函數說明的視窗






當前文章延伸閱讀:
成本會計