潤乾報表數字大寫轉換解決方案

         在製作金融報表,報銷單的時候,經常需要將數字轉化爲大寫的文字,有時還需要逐位拆開,製成形如下圖的報表:

         潤乾報表給出的相關解決方案如下:

         首先爲用戶提供三種小數轉換規則:直接捨棄、直接進位、四捨五入,分別用參數-1,1,和0來表示

             然後構造參數用以保留小數位數,範圍爲[0,4]超出範圍則按臨近順序選取0或4。設置好參數,寫入默認值

如下圖製表:

 

 

B1格中有一部分冗餘校驗,isnumber函數判定數據是否是數字,參數@number已經設定格式爲數值,潤乾會自動校驗其格式,B1中的方法可用於從數據庫中提取數據做校驗。

其中B8單元格的完整內容是=if(B7>13,"萬,千,百,十,","") + if(B7>9,"萬,千,百,十,","") + "億,千,百,十,萬,千,百,十,元" +  if(B2==1,",.,角","") + if(B2==2,",.,角,分","") + if(B2==3,",.,角,分,釐","") + if(B2==4,",.,角,分,釐,毫","")

B8中的逗號作爲B11中的識別符。

B14和B15用來標示“¥”的位置。

函數填寫好後,需要設置B11單元格爲橫向擴展,然後將B10\B14\B15的上主格設置爲B11,其餘格的上主格要設爲'0,即初始格,不擴展。

B3單元格的顯示格式設定爲if(B2==0,"#0",B2==1,"#0.0",B2==2,"#0.00",B2==3,"#0.000",B2==4,"#0.0000")

B11的隱藏列屬性中寫入表達式:if(value()==".",true)

B17的顯示值屬性寫入表達式:if(B14 >= 0, mid(value(),B14,B15), B14 == -1,"¥","")

第1行至第15行設置成隱藏行,不顯示

B18的顯示值要利用潤乾報表自帶的轉換函數,rmb(value())。

調整好B列的寬度之後,程序執行如下:

該方法主要用於將數字拆分,如果單純需要最下面的大寫數字,可以利用B1格中的校驗函數以及潤乾的rmb()函數,可以大批量地自動轉換大寫數字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章