Excel高手求幫忙! 20分

2013-12-06 8:42 am
我想要將某一個儲存格本身3位數字改位5位數字, 我知道係可以在儲存格格式-->自訂-->然後打00000, 將數字例如345自動變成00345.

不過, 我之後仲有公式要SET, 但EXCEL竟然仲當係345看待, 即係..

當我A1本身有APPLE呢個英文字, B1有345呢個數字, 我自訂左00000, 佢係顯示左00345無錯. 但當我C1想入公式將A1&B1連繫既時候, 佢竟然仲係APPLE345, 而不是APPLE00345

我想要的是當我A1打APPLE, B1打345, C1會出現APPLE再加B數字但要5位數既..唔夠5位數補番個0係前面, 咁就PERFECT喇!

有無人可以打救我?

回答 (2)

2013-12-06 10:07 am
✔ 最佳答案
你的問題正正顯示你不明白為何電腦對個格仔中的數值類別要分得咁清楚。(即數字和文字之不同處理方法)
『儲存格格式-->自訂-->然後打00000, 將數字例如345自動變成00345.』
這個只會令顯示有分別,正如你輸入345,顯示為00345,但數值仍是345不變,0345和000345其實內裡數字根本沒有不同或改過。
舉個例,如你有三個格字 1.2 ,1.3 , 2.5 (第三個為前兩個之和),假若你把三個格字顯示格式改為零個小數位,顯示結果為 1,1,3,即係1+1=3 ???
excel錯了嗎?? 非也,因為內裡數字沒有變過,算式仍o岩,只係顯示問題。
回頭說你的問題,a1其實是文字,b1則係數字,以programmer角度看是不應相加,只係excel好心幫你一把,估計你相加意思係把數字變成數字,所以得出apple345是理所當然,(即係同你之前b1改顯示根本無關,唔可以鬧佢『竟然仲係』)
其實你要的結果很易搞,在轉換時講清楚一點就可以,算式係 = A1&TEXT(B1,"0000#")就PERFECT啦。
後記。另一位網友小貓提出的=CONCATENATE(A1,RIGHT(CONCATENATE("0000",B1),5))
都work,不過,當你數字為六個位時會cut左,即係123456時答案係 Apple23456。
用text則會數字大時會AR一個位。即係Apple123456,而不會變質。

2013-12-06 9:01 am
用:=CONCATENATE(A1,RIGHT(CONCATENATE("0000",B1),5))

請看:


圖片參考:http://imgcld.yimg.com/8/n/HA00430218/o/20131206010119.jpg


2013-12-06 01:04:12 補充:
CONCATENATE 即是把不同的字串連成新的字串

RIGHT 就是從一個字串中提取最右的 x 個字元,x 以上設為 5

所以 0000 配上 345 變 0000345,再拿最右 5 個得出 00345

而 0000 配上 12 變 000012,再拿最右 5 個得出 00012


收錄日期: 2021-04-26 23:58:11
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20131206000051KK00002

檢視 Wayback Machine 備份