我正在为销售和客户服务设置每月呼叫跟踪器。我几乎已经做好了所有准备,但我希望将 IFERROR 函数添加到工作表中所有包含公式的单元格中。有没有统一的方法可以做到这一点,还是我必须一次一个地做。下面是我正在使用的不同公式的示例。
=COUNTIFS('JAN DATA'!H:H,"Commercial",'JAN DATA'!I:I,"New Sales")
=SUM(SUMIFS('JAN DATA'!G:G,'JAN DATA'!H:H,"Commercial",'JAN DATA'!I:I,"New Sales"),SUMIFS('JAN DATA'!G:G,'JAN DATA'!H:H,"Commercial",'JAN DATA'!I:I,"Inspection"))/(E4+E5),"")
我正在跟踪 15 个人,每个人每月大约有 5 行唯一代码。
答案1
文章
如何将 IFERROR 批量插入到现有的 Excel 公式中!
解释说,如果您不想更新每个公式,也许使用复制粘贴来更新部分IFERROR(
,那么您需要使用 VBA 宏。
建议的宏是:
Sub insertIFERRORtoCells()
On Error Resume Next
Dim result As String
result = InputBox("What text should be displayed in case of an error?", "Insert IFERROR function: Error Text")
If StrPtr(result) <> 0 Then
For Each cell In Selection.Cells
On Error Resume Next
If cell.HasFormula Then
cell.Formula = "=IFERROR(" & Right(cell.Formula, Len(cell.Formula) - 1) & "," & result & ")"
End If
Next
End If
End Sub
文章添加了以下注释:
上述 VBA 宏解决了其目的。然而,它也有一些缺点:
- 所有公式都必须以 = 符号开头。以
=-
或开头的公式=+
可能会导致错误。- 如果您现有的公式已经具有 IFERROR 函数,则它将不会被替换,但会添加一个额外的 IFERROR 函数。
- 当然,它也具有 VBA 宏的所有其他缺点(例如,它仅限于本地可用、难以维护等)
因此,请仔细测试此 VBA 宏,并在使用前最好保存文件的备份!