【问题标题】:Changing #N/A values in Excel to last non-error value in the spreadsheet将 Excel 中的 #N/A 值更改为电子表格中的最后一个非错误值
【发布时间】:2015-09-15 08:43:12
【问题描述】:

我有一组如下所示的值:

Time        DataSet1        DataSet2
00:10:00    15              27
00:20:00    #N/A            25
00:30:00    33              45
00:40:00    #N/A            #N/A
00:50:00    #N/A            25
01:00:00    #N/A            12

现在,我想用表中的前一个有效值填充所有 #N/A 值。例如:DataSet1 在 00:40:00、00:50:00 和 01:00:00 的值应该是 33。如何做到这一点?

【问题讨论】:

  • #N/A 来自一个公式,因为我从其他电子表格导入了带时间戳的数据,但其他工作表上的每个时间段都没有值。不需要保留空格,只需将#N/A 替换为之前的有效值即可。

标签: excel


【解决方案1】:

这应该适合你:

=IF(ISERROR(<yourformulahere>),A1,<yourformulahere>)

从 A2 自动填充到最后一行。

仅当您的公式是“可自动填充的”时才有效。 (:

https://support.google.com/docs/answer/3093349

【讨论】:

  • 在 Excel 2007 及更高版本中,您可以将其简化为:=IFERROR(&lt;yourformulahere&gt;,A1)
【解决方案2】:

选择您要修复的区域并运​​行此宏:

Sub FixData()
    Dim r As Range
    For Each r In Selection
        If r.Text = "#N/A" Then
            r.Value = r.Offset(-1, 0).Value
        End If
    Next
End Sub

例如,之前:

之后:

【讨论】:

    【解决方案3】:
    1. 选择 A1,然后点击 F5,当出现 GoTo 对话框时,点击 Special

    2. 选中Formulas并取消选中除Errors之外的所有内容。

    3. 点击确定
    4. 输入 = 然后输入 并按 Ctrl+Enter 完成。

    错误应转换为上述值。

    【讨论】:

    • @pnuts - 是的,我依靠样本数据来确定这种歧义。也许 OP 也希望 #DIV/0! 转换......?
    • 这真是一个绝妙的解决方案!然而,我确实发现了一些问题,即使我使用了 ctrl + enter,它并不总是更新所有错误的值。这可能是 Excel 错误或其他问题,而不是解决方案的问题。
    【解决方案4】:

    以防万一您更喜欢宏观方式:

    Dim val As String
    Dim col_to_check As Long, cnt As Long
    
    col_to_check = 2 ' We check the 2nd column
    cnt = 1 ' We'll use it to check rows below
    
    For i = 1 To ActiveSheet.UsedRange.Rows.Count
     If IsError(Cells(i, col_to_check)) Then
       val = Cells(i - 1, col_to_check)
       Cells(i, col_to_check) = val
       While IsError(Cells(i + cnt, col_to_check))
         Cells(i + cnt, col_to_check) = val
         cnt = cnt + 1
       Wend
     End If
     i = i + cnt - 1
     cnt = 1
    Next i
    

    【讨论】:

      【解决方案5】:

      我们需要用公式=above cell address 填写“#N/A”单元格。

      1. CTRL+F
      2. 类型 #N/A
      3. 点击查找全部
      4. 如下图用鼠标高亮显示。
      5. 单击菜单上方的一个空格 - 看到椭圆形(不要关闭查找和替换窗口)
      6. 开始输入=press Up key
      7. 按 CTRL+Enter
      8. 全部复制并粘贴为文本,去掉公式。

      【讨论】:

      • MS Office Professional Plus 2010。版本 14.0.7143.5000 32 位
      • 这应该也适用于 2013 年,检查步骤,澄清一点。是的,还更新了图片。
      • 如果是公式,则复制粘贴为文本,然后按照我的步骤操作,或者使用@Jeeped GoTo 解决方案。逻辑是一样的。
      猜你喜欢
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 2015-04-09
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多