1樓:小小小兔
方法:1、開啟excel**,在資料單元格後一列輸入:=if(right(b1,1)="5",b1,round(b1,1))
就可以得到四捨五入的值 ,如圖。
2、之後,其他的單元格向下填充即可。
2樓:匿名使用者
要用excel來實現,首先要了解其原理,如下所示:
四捨六入五留雙規則
為了避免四捨五入規則造成的結果偏高,誤差偏大的現象出現,一般採用四捨六入五留雙規則。
四捨六入五留雙規則的具體方法是:
(一)當尾數小於或等於4時,直接將尾數捨去。
例如將下列數字全部修約為四位有效數字,結果為:
0.53664——0.5366
10.2731——10.27
18.5049——18.50 0.58344——0.5834
16.4005——16.40
27.1829——27.18
(二)當尾數大於或等於6時,將尾數捨去並向前一位進位。
例如將下列數字全部修約為四位有效數字,結果為:
0.53666——0.5367
8.3176——8.318
16.7777——16.78 0.58387——0.5839
10.29501——10.30
21.0191——21.02
(三)當尾數為5,而尾數後面的數字均為0時,應看尾數「5」的前一位:若前一位數字此時為奇數,就應向前進一位;若前一位數字此時為偶數,則應將尾數捨去。數字「0」在此時應被視為偶數。
例如將下列數字全部修約為四位有效數字,結果為:
0.153050——0.1530
12.6450——12.64
18.2750——18.28 0.153750——0.1538
12.7350——12.74
21.845000——21.84
(四)當尾數為5,而尾數「5」的後面還有任何不是0的數字時,無論前一位在此時為奇數還是偶數,也無論「5」後面不為0的數字在哪一位上,都應向前進一位。
例如將下列數字全部修約為四位有效數字,結果為:
0.326552——0.3266
12.73507——12.74
21.84502——21.85 12.64501——12.65
18.27509——18.28
38.305000001——38.31
按照四捨六入五留雙規則進行數字修約時,也應像四捨五入規則那樣,一次性修約到指定的位數,不可以進行數次修約,否則得到的結果也有可能是錯誤的。例如將數字10.2749945001修約為四位有效數字時,應一步到位:
10.2749945001——10.27(正確)。
如果按照四捨六入五留雙規則分步修約將得到錯誤結果:10.2749945001——10.
274995——10.275——10.28(錯誤)。
其次假設我們保留小數點後兩個有效數,在a1欄輸入資料,b1欄輸入如下公式即ok
=if((mid(a1,(len(int(a1))+4),1))="5",if(len(a1)-len(int(a1))>4,(rounddown(a1,2)+0.01),(if(mod(mid(a1,(len(int(a1))+3),1),2)=0,rounddown(a1,2),(rounddown(a1,2)+0.01)))),round(a1,2))
不防驗證一下!
3樓:無聊挨踢人
=if(right(b1,1)="5",b1,round(b1,1))
四捨六入五成雙在excel裡怎麼設定?
4樓:一點設計演示
1、按alt+f11
thisworkbook-插入-模組。
2、將下面**拷貝進去。
function tranvalue(rng as double, number as integer) as double
tranvalue = round(rng, number)end function
3、在電子**中直接使用公式
= tranvalue(a1,1) ;然後向下拉公式既可以.
5樓:
假設a1是通過多位小數的數值(這裡4位以上),按四捨六入五成雙保留二位小數。公式為:
=if(mid(a1-int(a1),5,1)*1>5,int(a1)+mid(a1-int(a1),1,4)+0.01,if(mid(a1-int(a1),5,1)*1<5,int(a1)+mid(a1-int(a1),1,4),if(mid(a1-int(a1),6,1)*1>0,int(a1)+mid(a1-int(a1),1,4)+0.01,if(iseven(mid(a1-int(a1),4,1)*1),int(a1)+mid(a1-int(a1),1,4),int(a1)+mid(a1-int(a1),1,4)+0.
01))))
6樓:匿名使用者
=round(a1,0)
7樓:匿名使用者
=ceiling(round(a1,0),2)
8樓:匿名使用者
=round(a1,保留位數)-(mod(abs(a1)*10^(保留位數+1),20)=5)*10^(-保留位數)*(a1/abs(a1))
詳解如下:
round(a1,保留位數)將數值直接四捨五入到保留位數,只有當保留位數後一位為5時才需要額外判斷條件,這部分由(mod(abs(a1)*10^(保留位數+1),20)=5)*10^(-保留位數)*(a1/abs(a1))實現。
首先abs(a1)*10^(保留位數+1)是將數值取絕對值並將數值擴大10^(保留位數+1)倍,即將小數點右移(保留位數+1)位,再通過mod函式,除數為20來取餘。餘數在0~20之間,然後判斷該餘數是否=5。
如果結果不等於5,則邏輯值為false,運算中取0值,減號後面的部分為0,最後結果即為round函式的結果;
只有在餘數等於5時,說明5前是偶數,且5後沒有任何數字,此時不需要進位,而round函式將其進位,所以需要減掉。此時邏輯值為true,運算中取1,進的哪一位就要減掉哪一位,最後通過(a1/abs(a1))確保原值為負時是加而不是減。
四捨六入五成雙在excel怎麼實現?
9樓:一點設計演示
1、按alt+f11
thisworkbook-插入-模組。
2、將下面**拷貝進去。
function tranvalue(rng as double, number as integer) as double
tranvalue = round(rng, number)end function
3、在電子**中直接使用公式
= tranvalue(a1,1) ;然後向下拉公式既可以.
10樓:
這樣最直觀:
=int(a2)+if(mod(a2,1)>=0.55,1,0)如果要保留2位小數:
=(int(a2*100)+if(mod(a2*100,1)>=0.55,1,0))/100
11樓:全枋潔
兩種情況:
1.被修約數 / 小數點後位數 / 結果0.0834501 / 4 / 0.0835
其中結果一欄(0.0835)的設定為:=round((trunc(a2*10^(b2+1))-((a2*10^(b2+1)-trunc(a2*10^(b2+1)))<=0)*(mod(trunc(a2*10^(b2+1)),5)=0)*(1-mod(int(a2*10^b2),2))*5)/10^(b2+1),b2)
2.(可用於負數)
被修約數 / 小數點後位數 / 結果0 / 3 / 0其中結果一欄的設定公式為:=if(a2=0,0,(if(a2>0,round((trunc(a2*10^(b2+1))-((a2*10^(b2+1)-trunc(a2*10^(b2+1)))<=0)*(mod(trunc(a2*10^(b2+1)),5)=0)*(1-mod(int(a2*10^b2),2))*5)/10^(b2+1),b2),-(round((trunc(abs(a2)*10^(b2+1))-((abs(a2)*10^(b2+1)-trunc(abs(a2)*10^(b2+1)))<=0)*(mod(trunc(abs(a2)*10^(b2+1)),5)=0)*(1-mod(int(abs(a2)*10^b2),2))*5)/10^(b2+1),b2)))))
excel中如何四捨五入,EXCEL中如何設定四捨五入?
excel中快速四舍五 excel如何進行四捨五入?在excel中如何快速的進行四捨五入 excel四捨五入一般用round函式,具體說明如下圖 當然,將單元格區域設定為數值格式,設定小數位數 0時,會按四捨五入顯示數值 一般預設的都是四捨五入的,你要是保留小數位的話,你可以先選擇該單元格,然後右鍵...
excel四捨五入問題,Excel 四捨五入 取整 問題
excel如何進行四捨五入?一種用if 巢狀二種方法公式 lookup a1,但你的這個資料是不是隻在1 2之間,如不在又要如何處理 round 函式 round函式的作用是返回某個數字按指定位數取整後的數字。語法為 round number,num digits 其中number是需要進行四捨五入...
在EXCEL裡如何實現四捨六入五奇偶任意位數保留整數,1位小數,2位小數,3位小數。請高手們賜教
假設資料在a1中,保留到整數,公式可為 round a1,0 mod a1 10,20 5 其實,所謂的四捨六入,其它與四捨五入頗為相似,僅是在小數點後面正好為0.5時,作一個判斷,如果前面是偶則不進,是奇則進,所以,先不管三七二十一,按四捨五入round進上去再說,round a1,0 就是四捨五...