一、自動更正法

  使用自動更正功能,可以簡化用戶對大寫漢字的輸入操作,例如可以將“1//”定義更正為“壹”,那么當(dāng)要輸入“壹”時,就可通過鍵入“1//”來實現(xiàn)。另外,這種定義以后不僅在Excel中有效,在Word中也同樣有效,因為“自動更正”程序是Office組件所公用的。

  用“自動更正”是最簡單易行的,用戶可自由、方便地輸入要寫的大寫讀法。然而它的局限性也很明顯,即它雖然給使用者提供了輸入大寫數(shù)字的方便手段,但終究還是需要人工輸入,不能自動、實時地依當(dāng)前的實際數(shù)字結(jié)果進行更新。

  二、工作表函數(shù)替換法

  要做到數(shù)值的自動更新,一般都會想到用VB構(gòu)造函數(shù)法,但其實我們可采用一個簡單的方法,即工作表函數(shù)的替換法。顧名思義,所謂“工作表函數(shù)的替換法”,就是將原來的結(jié)果換去一部分。那么換什么,又怎樣換?

  我們知道,在Excel中,提供了多種數(shù)字的顯示格式。其中文版實際上也包括數(shù)字的大寫讀法顯示格式,但遺憾的是這個功能對一般用戶來說基本上不能用,因為Microsoft在實現(xiàn)這個數(shù)字顯示格式時犯了一個小小的錯誤,例如“33.56”這個數(shù),它顯示出來的是“叁拾叁.伍陸”。很顯然,沒有將小數(shù)點作有效處理。

  雖然這個顯示格式是錯的,但其勞動成果還是能為我們所用——只要能設(shè)法將其小數(shù)點作有效處理。做到這一點也并不難,可以先將數(shù)字以其內(nèi)置的中文大寫顯示格式轉(zhuǎn)變?yōu)槲谋靖袷?,即使用TEXE( )函數(shù)將其結(jié)果轉(zhuǎn)化為字符串,然后將小數(shù)點“.”用漢字“點”換掉(使用SUBSTITUTE( )函數(shù)。

  例如,若要將B1單元格內(nèi)容重寫為大寫,則可以在單元格中輸入如下公式:

  復(fù)制代碼

  代碼如下:

  =SUBSTITUTE(TEXT(B1,"G/通用格式"),".","點")

  使用這樣一個小小的公式應(yīng)當(dāng)說并不復(fù)雜,不過,這樣做仍不能滿足某些情況下的要求,因為使用大寫表示數(shù)額一般只應(yīng)用于財會方面,其他很少這么用。在上例中,對數(shù)字“33.56”,往往要求結(jié)果寫為“叁拾叁元伍角陸分”。那么,如何將“33.00”寫為“叁拾叁元整”呢?

  實現(xiàn)這一功能的邏輯也不太復(fù)雜。我們可以看到,Excel顯示格式的小數(shù)點前的數(shù)字讀法是沒有錯的,可將其取出來作為一個字符串;小數(shù)點后面的數(shù)字則麻煩些,必取出來,再以低位是否都為“0”來判斷是要寫“整”還是“零”。還要將“元”、“角”、“分”等字串適當(dāng)?shù)夭迦?,最后把幾個字串連接起來就行了。我們?nèi)詫1 單元格內(nèi)容作格式轉(zhuǎn)化,則具體實現(xiàn)如下:

  復(fù)制代碼

  代碼如下:

  =TEXT(INT(B1),"G/通用格式")&"元"&IF((INT(B1*10)-INT(B1) *10)=0," ",TEXT(INT(B1*10) - INT (B1) * 10 ,"G/通用格式") &"角")&IF((INT(B1*100)-INT(B1*10) *10)=0,"整",TEXT (INT (B1*100) - INT ( B1*10) *10,"G/通用格式")&"分")

  寫這么一長串的公式看來似乎有些嚇人,但是,如果在常要修改數(shù)據(jù)的表中或在模板里以這個方法實現(xiàn)大寫漢字顯示的話,則以后不但省事而且不易出錯。

  三、VB編程法的思路

  可以用VB寫一個函數(shù),以后可像Excel的內(nèi)部函數(shù)一樣直接被調(diào)用,不過這需要熟悉VB編程。在編程過程中可用一般的方法調(diào)用VB函數(shù),也可以借用我們前面所列“代換法”中的函數(shù)。但前面的公式中用的大多是Excel的工作表函數(shù),在VB中不能直接使用,若非要用,也只能通過層次關(guān)系調(diào)用它(即用“Application WorksheetFunction”方式調(diào)用)。

  但最好自己用VB函數(shù)寫,因為這樣的話,較通用且可移植性好。若只用VB函數(shù),具體方法與代換法也有類似之處,但小數(shù)點前的處理要復(fù)雜得多,相應(yīng)的代碼也太長。

1.《中文大寫 在Excel中如何實現(xiàn)中文大寫數(shù)字》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《中文大寫 在Excel中如何實現(xiàn)中文大寫數(shù)字》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/keji/407464.html