我已经在Excel中制作了一堆表格,除了偶尔有一两个公式输出一些错误(因为有效的原因,例如除零,在我的情况下很好)之外,这种情况很好。当这些错误成为另一个不能很好处理错误的公式(例如SUMPRODUCT
)的输入时,这些错误就会受到阻碍。
所以我想知道是否有方法让我在IFERROR( EXISTINGFORMULA, "-")
中嵌套我现有的公式。
我不想单独进入每个单元格,花一大堆时间输入相同的代码。
注意:
- 我应该注意到我对Regex很熟悉,但是我无法知道如何在Excel中应用它,因为这将是我通常的软件知识如何使用它。
- 我没有管理员权限,所以我更喜欢(如果可能的话)不安装任何东西来实现这个目标。
答案 0 :(得分:0)
您可以使用宏来完成工作:
k = 0
For i = 1 To 9999
For e = 1 To 9999
If Cells(i, e).Formula = "" Then
k = k + 1
If k > 5 Then Exit For
Else
k = 0
End If
If Left(Cells(i, e).Formula, 8) = "=IFERROR" Or Left(Cells(i, e).Formula, 1) <> "=" Then
Else
Cells(i, e).Formula = "=IFERROR(" & Mid(Cells(i, e).Formula, 2) & ",""-"")"
End If
Next
If k > 20 Then Exit For
Next
如果您愿意,可以限制宏工作的范围(修改var i&amp; e 的值)。
答案 1 :(得分:0)
我当时也想做同样的事情。由于我的所有公式都相同,我真的只想添加 IFERROR(到前面,,“”)到后面。通过选择我的单元格并搜索 = 并将所有内容全部替换,我能够做到这一点。这使公式成为文本,我可以继续使用查找和替换所有没有excel抱怨不正确的公式。
接下来,我搜索 INDEX ,因为它是我现有公式中的第一个,并用 IFERROR(INDEX
然后我搜索了)),因为这是我现有公式的结尾,并用))替换了所有,“”),因为我不想显示是否存在是一个错误。
最后,我搜索 IFERROR 并将所有内容替换为 = IFERROR ,将它们全部转换为公式。它的效果非常好。
我知道这不是花哨的代码或任何东西,但我想我会分享对我有用的东西,因为这个网站以前帮了我很多次。