返回列表 上一主題 發帖

請問如何清除字串前面的"0"

請問如何清除字串前面的"0"

想清除字串中最左手邊的0
0字長度不定,及字串中間的0要保留

00012A13B  >> 12A13B
00A14014B >> A14014B

請指教

我想到的方法是使用VBA Function

做法是先在VBA模組中新增一個function(如下)
  1. Function DIn0(x As String) As String
  2. xindex = Len(x)
  3. Do
  4. If Left(x, 1) = 0 Then
  5. x = Right(x, xindex - 1)
  6. xindex = xindex - 1
  7. End If
  8. Loop Until Left(x, 1) <> "0"
  9. DIn0 = x
  10. End Function
複製代碼
接著在儲存格keyin
=DIn0(A1)
就行了

我做好的檔案如下
https://onedrive.live.com/redir?resid=6CB845AED0C935E7%21175
動念成因積因成果 by huijuang

TOP

殺雞用牛刀了,
EXCEL本身就有這個功能
選取要更改的格→資料→資料剖析→分格符號→勾選其它,打入0→勾選連續分格符號視為單一處理→下一步。完成
robin

TOP

感謝newlink
之前我完全沒想過使用「資料剖析→分格符號」

因為使用function是有缺點的
它最大的缺點就是容易造成excel變慢
所以平常我也是儘量少用function
動念成因積因成果 by huijuang

TOP

回復 3# newlink

使用此法會將中間部分的0也刪除,例1# 樓主舉的例子:00A14014B,結果:A1414B,會有此問題產生

TOP

回復 1# enoch
陣列公式
=MID(A1,MATCH(TRUE,MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)<>"0",0),LEN(A1))
學海無涯_不恥下問

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題