excel中到底有沒有數值修約的方法?

時間 2021-12-27 07:56:25

1樓:嘞好

正好最近在研究這個數值修約標準,你已經快接近正確答案了。

先看一下數值修約國標GB/T 8170-2008是怎麼規定的,估計看完也暈乎乎的,沒關係,來個口訣:

四捨六入五考慮,五後非零則進一,五後皆零視奇偶,五前為偶應捨去,五後為奇則進一,不論數字多少位,都要一次修約成。

首先第乙個是Excel本身問題,你把它改成

"=ROUND(A1,X)-(MOD(A1*10^X,2)=0.5)*10^(-X)"

A1是正數的話能用,負數處理會出錯,捨棄。

第二個的話,改成

Function Tranvalue(rng As Double,number As Integer)As Double

TranValue=Round(rng,number)

End Function

也能用,但有限制,number不接受負數,也就是不能修約到個位數、十位數等。

注意:worksheet的round和vba的round是不一樣的哦,VBA的round才符合數值修約,但他有個缺點,只能修約到小數點後幾位,不能修約到十位百位等。捨棄。

第三個,試了下power query,也挺好用,可惜和vba的round一樣,不支援負數,捨棄。

最後公布答案,符合數值修約標準(GB/T 8170-2008),能處理正負數,結果正確,思想一致,並且還比較簡單操作的,可以這麼弄:

"=IF(MOD(ABS(A1*10^-X),2)=0.5,ROUNDDOWN(A1,-X),ROUND(A1,-X))"

A1就是待修約的數

X是修約到10的幾次方

-2是修約到10的-2次方,也就是小數點後2位,0.01

-1是修約到10的-1次方,也就是小數點後1位,0.1

0是修約到10的0次方,也就是個位

1是修約到10的1次方,也就是十位

2是修約到10的2次方,也就是百位

...以此類推

over

2樓:

不懂, 但是我的結果和你不一樣, 我在使用VBA的Round函式時得到了1.960~

版本Office 2016 64位專業增強版Excel的Round函式明確了是四捨五入, 而VBA的Round函式中有這樣一句話~

具體可以檢視

ROUND 函式

人體中到底有沒有丹田?

遠山 有形可見,無形不可見,所以有沒有根本搞不清啊,從解刨學上講是肯定沒有的。祖先講事情,喜歡用比喻,並不一定確有實物相對應。不理解這一點,根本看不懂古書。 CHARLIE 西樂裡美聲唱法的老師,也會提丹田發聲和丹田呼吸,包括健身訓練時,有時候也要丹田用力。丹田就是小肚子軟組織,在等距收縮發力時,配...

stop 中的 t 到底有沒有濁化?

MacMouth 濁化這個詞是錯誤的解讀 從這個詞的字面意思來講,那是將 t 配合聲帶振動,使之變 濁 可是配合聲帶振動不還是特特特麼?清子音與濁子音這個相對概念必須要拋棄掉,否則無法解釋 stop stp 為何有 sdp 的傾向 況且音標還不給 sdp 呢 子音 t d 的本質區別在於前者送氣強後...

顛球在足球訓練中到底有沒有用?

逍遙狐狸 顛球,作為個人訓練的方式方法之一,對於球性腳感肯定是有幫助的。但足球是乙個團隊專案,其實更重要的是整個團隊,一起協作配合將球送到對方球門為目標的遊戲。在這個前提下提高自己的球性腳感是必然的。我們回到顛球,這只是個人練習的方法之一,而且你是用什麼部位顛球也是非常重要的,腳背,腳內側,還是腳後...