excel 批量修改公式

2025-01-20 13:27:16
推荐回答(5个)
回答1:

基本操作木想到简单的方法,想到一个复杂的方法:

1.某单元格写0.001(确保公式内不要包含+0.001,否则就换其他),复制
2.Ctrl+G定位,定位条件,公式-只勾选数字
3.右键,选择性粘贴,运算,选择加
(这个步骤的目的是让原来的公式加上"()",例如=A1变成=(A1)+0.001)
4.Ctrl+H替换
"="为"!=Round("
"+0.001"为",0)"
"!="为"="
多一步替换!=是因为直接把"="替换为"=Round("会提示公式错误,首先把公式变成文本,再替换回去.

VBA倒是非常简单:
(使用方法:alt+F11,Ctrl+R,点Thisworkbook右键插入模块,复制代码到模块,然后回到Excel,alt+F8,运行ChangeFormula,即可改变在本工作表所有公式外加上=round(,0))

Sub ChangeFormula()
Dim Rng As Range
For Each Rng In ActiveSheet.UsedRange
If Rng.HasFormula Then
Rng.Formula = Replace(Rng.Formula, "=", "=Round(") & ",0)"
End If
Next
End Sub

回答2:

麻烦你试了再说,比如一个单元格通过公式计算的结果是2.721,而你现在只要四舍五入保留到整数位即3,。你可以先设置单元格格式,设置成小数位为0,然后点工具-选项-重新计算,勾选以显示精度为准(P)即可,这样单元格显示的是3,而且此单元格于其他数据计算,也是以3来计算。比如将此单元格乘以2,计算结果就是6,而不是你说5(5.442四舍五入等于5)

回答3:

不可以,因为你不光是要加ROUND,还要加上括号和精确位数,如果公式长度都一样,那可以实现,但现在公式长度都不一样,就无法实现了.

回答4:

做好一个的单元格的公式。单元格右下角的小十字开始拉。。或者复制然后粘贴,,占田选项的选项框里选只复制公式

回答5:

在设置单元格格式里把数值的位数设为0不就行了吗?
干吗要用公式四舍五入?