工程中的數(shù)值修約規(guī)則是“4舍6入5看齊,5后有數(shù)進(jìn)上去,尾數(shù)為零向左看,左數(shù)奇進(jìn)偶舍棄”?,F(xiàn)在用的是一個自定義函數(shù)NJW(x, y)(函數(shù)作者牛二偉,一直都在用,今天才在網(wǎng)上看到 ,總結(jié)的不錯寫的很好,題目叫:“在EXCEL表解決奇進(jìn)偶舍問題的新方法”),然后通過Visual Basic編輯器插入模塊,在excel運算的過程中調(diào)用該自定義函數(shù),實現(xiàn)數(shù)值的修約。但是今天發(fā)現(xiàn)能實現(xiàn)的只有“4舍6入5看齊,5后面的第一位有數(shù)就進(jìn)位,尾數(shù)為零向左看,左數(shù)奇進(jìn)偶舍棄?!辈]有完全5后有數(shù)就進(jìn)位的規(guī)則,發(fā)現(xiàn)只要對函數(shù) 小小的修改了哈,就能避免一些修約錯誤。 函數(shù)名稱定為:NJW(x, y),x:需要奇進(jìn)偶舍的數(shù),y:保留的有效位數(shù)。具體編寫如下: Function NJW(x, y) As Double P = 0.499999999 ‘是偶數(shù)時需要加的數(shù)(這里原來是0.49現(xiàn)改成0.49999999,后面還可以多寫幾個9 ) Else P = 0.5 ‘是奇數(shù)時需要加的數(shù) End If NJW = Int(x * 10 ^ y + P) / 10 ^ y ‘函數(shù)計算公式 具體加入方法: 1.首先打開EXCEL,選擇菜單“工具→宏→Visual Basic編輯器”(03的excel)命令(或07的按鍵盤Alt+F11組合鍵),打開Visual Basic窗口。 2. 進(jìn)入Visual Basic窗口后,選擇菜單“插入→模塊”命令,于是得到“模塊1”,按命令格式輸入。輸入以上內(nèi)容即可。 3. 函數(shù)自定義完成后,選擇菜單“文件→關(guān)閉并返回到Microsoft Excel”命令,返回到Excel工作表窗口。NJW(四舍六入)函數(shù)與EXCE自帶的ROUND(四舍五入)函數(shù)使用方法完全一樣。當(dāng)結(jié)果數(shù)保留到小數(shù)位時,Y為大于0的任何整數(shù);當(dāng)結(jié)果數(shù)保留到個位時,Y為0;當(dāng)結(jié)果數(shù)保留到十位、百位時,Y為-1、-2。 4.通常自定義的函數(shù)只能在當(dāng)前工作薄使用,如果該函數(shù)需要在其它工作薄中使用,則選擇菜單“文件→另存為”命令,打開“另存為”對話框,選擇保存類型為“Mir-cosoft Excel加載宏”,然后輸入一個文件名,如“NJW”單擊“保存”后文件就被保存為加載宏。然后選擇菜單“工具→加載宏”命令,打開“加載宏”對話框,勾選“可用加載宏”列表框中的“NJW”復(fù)選框即可,單擊“確定”按鈕后,就可以在本機上的所有工作薄中使用NJW這個自定義函數(shù)了。(后面的這幾段是摘抄自“在EXCEL表解決奇進(jìn)偶舍問題的新方法”這篇文章)。 |
|