首页 热点资讯 义务教育 高等教育 出国留学 考研考公

关于Excel问题

发布网友 发布时间:2022-04-20 06:17

我来回答

4个回答

热心网友 时间:2023-07-12 15:45

你好,很高兴能为你解答。
根据你的图片问题描述,做了一个例子,A列为数据,同时A列数据的小数位数是不确定的,B列为所需要得到的结果。如下图:




整体思路:
第一:首先使用IF函数判断是否大于20;
第二:使用LEN和FIND函数判断小数位数;
第三:当大于20的时候直接使用ROUNDUP、LEN和FIND函数组合公式;
第四:当小于20的时候,使用RIGHT函数判断最后一位是否小于5;
第五:当最后一位小于5的时候,使用LEFT和LEN函数提取除去最后一位数据加上最后一位5, 5是通过10的幂次方来确定;
第六:当最后一位大于5的时候,直接使用ROUND、LEN和FIND函数组合公式进位。
因此,公式如下:
=IF(A2>20,ROUNDUP(A2,LEN(A2)-FIND(".",A2)-1),IF(--(RIGHT(A2,1))<5,LEFT(A2,LEN(A2)-1)+10^-(LEN(A2)-FIND(".",A2))*5,ROUND(A2,LEN(A2)-FIND(".",A2)-1)))
如下图:




希望帮到你,谢谢!

热心网友 时间:2023-07-12 15:45

以数据在A1为例

=IF(A1>20,FIXED(A1,0),IF(--MID(A1,FIND(".",A1)+1,1)>5,FIXED(A1,0),REPLACE(A1,FIND(".",A1)+1,1,5)))追问好像你这个是四舍五入的

追答对啊, 你不是要进一位么?
如果不要四舍五入,就把FIXED改为INT(A1)

热心网友 时间:2023-07-12 15:46

追问这个公式全部取整了

追答

=IF(A1>=20,INT(A1)+1,IF(ROUND(A1,0)=INT(A1),INT(A1)+0.5,ROUND(A1,0)))

嵌套了一个IF

热心网友 时间:2023-07-12 15:46


亲,你是要打印么?

Excel可以每隔50行分一页,不过要用VBA。下面是代码:

Sub fy()
Dim i As Long
For i = 51 To ActiveSheet.UsedRange.Rows.Count Step 50
    ActiveSheet.HPageBreaks.Add Before:=Cells(i, 1)
Next i
End Sub




声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com