當前位置:
首頁 > 最新 > 文本型數字分段顯示

文本型數字分段顯示

前幾天推送了一個關於手機號分段顯示的教程,有朋友就按照該方法對公司銀行賬號進行分段顯示設置,可她不管怎麼設置,都沒法達到分段顯示的效果。

今天我們就來幫她解決這個問題。

首先,她使用設置自定義格式的方式進行設置。

由於銀行賬號為文本型數字,當她將格式設置為「0000 0000 0000 0000 0000」自定義形式後,顯示效果並未發生變化,可見使用「0」佔位符對文本型數字並不起作用。

隨後將單元格格式改為數字類型後(即將單引號刪除),數據進行了分組,但是銀行賬號後幾位數字變成了0。這是因為在Excel中,輸入超過12位的數值,系統自動將其轉換為科學記數格式,如果輸入超過15位的數值,系統自動將15位以後的數值轉換為「0」

GIF

隨後,她又使用另外一種方法,即使用TEXT函數更改顯示效果:

GIF

使用TEXT函數,銀行賬號後幾位數字也變成了0,該種方法也不可行!

因此,不管使用上述哪種方法,都是只針對短數字(數據位數不能超過15位)有效。像銀行賬號這類長文本型數字如何實現分段顯示哪?

下面介紹兩種實現方法。

/ 01 /

方法一:用REPLACE函數實現

使用REPLACE函數進行分組顯示的公式為:

=REPLACE(REPLACE(REPLACE(REPLACE(B2,5,," "),10,," "),15,," "),20,," ")

GIF

當然,也可用LEFT、MID函數實現,公式為:

=LEFT(B2,4)&" "&MID(B2,5,4)&" "&MID(B2,9,4)&" "&MID(B2,13,4)&" "&MID(B2,17,100)

GIF

雖然兩種方法都可以實現文本數字分段顯示,但是都不夠靈活,如果改為每5個一組顯示,則需調整函數的參數,還是比較麻煩的。

/ 02 /

用VBA實現

代碼如下:

Function ReGrp(rng As Range, j As Integer)

Dim ln, l, i As Integer

Dim s, x As String

s = rng

ln = Len(rng)

l = Int(ln / j)

If ln > j Then

For i = 0 To l

x = x + Mid(s, i * j + 1, j) + " "

Next i

ReGrp = Left(x, Len(x) - 1)

Else

ReGrp = rng

End If

End Function

說明:ReGrp第1個參數為待分組單元格,第2個參數為每幾個一組的意思。

操作視頻:

GIF

除了上述兩種方法外,還有另外一種方法看起來較笨,但使用頻次卻是最高的,即輸入過程自動加空格。

使用哪種方法,取決於要處理的數據量大小和自身操作習慣。

-END-

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Excel職場技能 的精彩文章:

TAG:Excel職場技能 |