我有一组看起来像这样的值:
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.如何做到这一点?
答案 0 :(得分:2)
这应该适合你:
=IF(ISERROR(<yourformulahere>),A1,<yourformulahere>)
从A2自动填充到您的最后一行。
只有在您的公式“可自动填充”时才会起作用。 (:
答案 1 :(得分:1)
选择A1然后点击 F5 ,当出现 GoTo 对话框时,单击 Special 。
检查公式并取消选中除错误之外的所有内容。
错误应该转换为上面的值。
答案 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
例如,之前:
之后:
答案 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”单元格。
=
和press Up key
。