历史版本4 :保留指定位数的有效数字 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

对于数字结果要求保留指定位数的有效数字,例如从一个数的左边第一个非0数字起,到末位数字止,所有的数字都是这个数的有效数字,如下图所示:

1.2 实现思路

获取数字 1 到 9 第一次最先出现的位置,计算出该截取的长度,然后截取数字。

2. 示例编辑

2.1 模板设计

1)创建一个内置数据集,输入一些小数,如下图所示:

2)单元格设计如下图所示:

3)B2 格输入公式 left(A2,let(a,min(greparray(maparray(range(9),find(item,A2)),item>0)),if(a<2&&a+3>2,a+4,a+3))),如下图所示:

公式说明:

公式说明
maparray(range(9),find(item,A2))生成数字 1 至 9 ,并依次判断在A2单元格数字中出现的位置
greparray(maparray(range(9),find(item,A2)),item>0)对上一步的结果,只取大于0的数字
min(greparray(maparray(range(9),find(item,A2)),item>0))对上一步的结果,取出最小的数字,即A2数字中最早出现大于0的位置。
let(a,min(greparray(maparray(range(9),find(item,A2)),item>0)),if(a<2&&a+3>2,a+4,a+3))判断上一步取得的位置到保留位数之间,是否存在小数点,存在则加上有效位数,否则加上有效位数-1,因为计算有效位数时,一般以科学计数法来计算,所以固定小数点在第二位。
left(A2,let(a,min(greparray(maparray(range(9),find(item,A2)),item>0)),if(a<2&&a+3>2,a+4,a+3)))截取数字

2.2 效果预览

2.2.1 PC 端

2.2.2 移动端

3. 模板下载编辑