将现有公式嵌套在新公式中(IFERROR)

时间:2014-08-07 13:04:29

标签: regex excel nested bulkinsert

我已经在Excel中制作了一堆表格,除了偶尔有一两个公式输出一些错误(因为有效的原因,例如除零,在我的情况下很好)之外,这种情况很好。当这些错误成为另一个不能很好处理错误的公式(例如SUMPRODUCT)的输入时,这些错误就会受到阻碍。

所以我想知道是否有方法让我在IFERROR( EXISTINGFORMULA, "-") 中嵌套我现有的公式。 我不想单独进入每个单元格,花一大堆时间输入相同的代码。

注意:

- 我应该注意到我对Regex很熟悉,但是我无法知道如何在Excel中应用它,因为这将是我通常的软件知识如何使用它。

- 我没有管理员权限,所以我更喜欢(如果可能的话)不安装任何东西来实现这个目标。

2 个答案:

答案 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 ,将它们全部转换为公式。它的效果非常好。

我知道这不是花哨的代码或任何东西,但我想我会分享对我有用的东西,因为这个网站以前帮了我很多次。