求excel中保留兩位有效數字的代碼?

我有一列數,需要在保留兩位有效數字,excel中沒有現成的公式。。。。。本人才疏學淺,哪位大神幫我現編一個唄?


=round(目標單元格,需要保留的小數點後位數)


保留有效數字的操作可以利用ROUND函數實現:

語法
ROUND(number, num_digits)

參數
number 必需。要四捨五入的數字。
num_digits 必需。位數,按此位數對 number 參數進行四捨五入。
如果 num_digits 大於 0(零),則將數字四捨五入到指定的小數位。
如果 num_digits 等於 0,則將數字四捨五入到最接近的整數。
如果 num_digits 小於 0,則在小數點左側前幾位進行四捨五入。

以下為保留兩位有效數字的公式(Eq.1):

=ROUND(A1, 2-(INT(LOG(A1+0.1^6))+1))

其中:
A1為要處理的數字;
INT(LOG(A1+0.1^6))+1是該數字的整數部分的位數;
+0.1^6是為了保證要處理的數字為零時LOG的計算有意義,不必要。

該公式可以簡化為(Eq.2)

=ROUND(A1, 1-INT(LOG(A1+0.1^6))

寫成Eq.1的形式主要是為了突出要保留的是2位有效數字。如果要保留3位有效數字,可以將公式改寫為:

=ROUND(A1, 3-(INT(LOG(A1+0.1^6))+1))

以下是實際效果,題主可以自己嘗試一下:
1、保留2位有效數字
=ROUND(A1, 2-(INT(LOG(A1+0.1^6))+1))
A1 = 123.4,輸出 = 120
A1 = 12.34,輸出 = 12
A1 = 1.234,輸出 = 1.2
A1 = 0.1234,輸出 = 0.12

2、保留3位有效數字
=ROUND(A1, 3-(INT(LOG(A1+0.1^6))+1))
A1 = 123.4,輸出 = 123
A1 = 12.34,輸出 = 12.3
A1 = 1.234,輸出 = 1.23
A1 = 0.1234,輸出 = 0.123

注意在Excel中設置相應的小數位數以顯示結果,不過即使不設置,計算結果也是確實的保留有效數字之後的值(可以將計算結果粘貼到其他地方進行驗證)。


保留有效數字,通常還需要考慮四捨六入五成雙的修約規則。


保留數字是直接在「數字」里設置吧。「增加小數位數」點兩下。


設置單元格格式為數字,然後保留小數位2位。

8個Excel單元格格式技巧


推薦閱讀:

Excel 有什麼神奇用途?
怎樣跳過已合併的單元格快速排列序號?
請問,在Excel表格中如何將姓名和手機號碼分離?
excel如何隔行隔列複製公式?
有沒有人能通俗易懂地介紹一下excel所有公式的作用和使用方法?或者有此類的書籍可推薦一下。

TAG:編程 | MicrosoftExcel | Excel公式 |