更改Excel中的#N / A值以使用电子表格中的非错误值

时间:2015-03-05 14:11:45

标签: excel

我有一组看起来像这样的值:

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.如何做到这一点?

5 个答案:

答案 0 :(得分:2)

这应该适合你:

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

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

只有在您的公式“可自动填充”时才会起作用。 (:

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

答案 1 :(得分:1)

  1. 选择A1然后点击 F5 ,当出现 GoTo 对话框时,单击 Special

  2. 检查公式并取消选中除错误之外的所有内容。

  3. 点击确定
  4. 键入 = 然后并使用 Ctrl + 输入结束。
  5. 错误应该转换为上面的值。

答案 2 :(得分:1)

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

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

例如,之前:

enter image description here

之后:

enter image description here

答案 3 :(得分:0)

以防你喜欢宏观方式:

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

答案 4 :(得分:-2)

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

  1. CTRL + F
  2. 键入#N / A
  3. 点击查找全部
  4. 使用鼠标高亮显示全部如下图所示。
  5. 单击菜单上方的一个空格 - 请参阅椭圆(不要关闭“查找和替换”窗口)
  6. 开始输入=press Up key
  7. 按CTRL + Enter
  8. 将所有内容复制并粘贴为文本,以摆脱公式。
  9. enter image description here