第3个回答 2017-01-13
用VBA函数即可实现:
假设A1=3.1415926
第一步:取出小数部分。A2=A1-ROUNDDOWN(A1,0)
解释:
ROUNDDOWN(number,num_digits)函数
Number 为需要向下舍入的任意实数。
Num_digits 四舍五入后的数字的位数,取值为0时,可取得整数部分
例如:
=ROUNDDOWN(3.14159, 0)将 3.14159 向下舍入,小数位为 0 (3)
=ROUNDDOWN(3.14159, 3)将 3.14159 向下舍入,保留3位小数 (3.141)
所以,A2=A1-ROUNDDOWN(A1,0)意思就是3.1415926-3,得到小数部分0.1415926
第二步:取出第N位小数。MID(A2,2+N,1)
解释:
MID(text, start_num, num_chars)函数
作用是从一个字符串中截取出指定数量的字符。
text表示要被截取的字符。
start_num表示从左起第几位开始截取。
num_chars表示start_num参数指定的位置开始,要向右截取的长度。如果省略,将指定为从Start参数位置开始向右到字符串结尾的所有字符数。
例如:
=MID(“12345”,1,2) “12”
所以,MID(A2,2+N,1)中,2+N表示要减去“0.”占用的2个字符。只用改变N(N>0)的值,即可取得任意第N位小数了。
第4个回答 2016-12-02
在B2中输入:
=IFERROR(MID($A2,FIND(".",$A2)+COLUMN()-1,1),"不是小数")
然后往右拉,再往下拉
第5个回答 2016-11-12
假设小数在A1,要提取小数点后第N位数字,=MID(A1,FIND(".",A1)+N,1),N按照实际需要更改