用上面单元格中的值查找并替换空白值[重复]

Posted

技术标签:

【中文标题】用上面单元格中的值查找并替换空白值[重复]【英文标题】:Find and Replace blank values with the value from the cell above [duplicate] 【发布时间】:2015-01-04 00:38:52 【问题描述】:

我在 excel 的 1 列中有大约 500,000 个数据单元格。数据如下:

F 列:

1528 1660 不适用 1531 1531 不适用 不适用

有什么方法可以用上面单元格中的值替换所有 N/A'?

如果我逐行进行,我需要一年的时间。因此,如果您能够通过手动执行此操作使我免于浪费一年的生命,请提前感谢您。

【问题讨论】:

你可以看看这个并修改为“N/A”:datapigtechnologies.com/blog/index.php/… 标记为重复,因为一旦将 N/A 替换为空白,它就是同一个问题。 【参考方案1】:

选项 1 - 您可以在旁边的列中使用公式。

单元格 G2 中的公式为 =IF(F2="N/A",F1,F2) 将其复制并粘贴到所有 G 列单元格中。您会注意到公式在复制后发生了变化。

现在突出显示 G 列并复制。

然后突出显示 F 列,右键单击一个选择并从弹出窗口中选择 PasteSpecial,然后选择 Values only 和 OK,这会将 G 中计算的值复制到 F 中的值。

做之前做好备份!

选项 2 - 您可以使用如下代码:

Public Sub FixData()

Dim acell As Range

For Each acell In ActiveSheet.Columns("F").Cells
    If acell.Value = "N/A" And acell.Row <> 1 Then
        acell.Select
        acell.Value = acell.Offset(-1, 0).Value
    End If
Next acell

End Sub

好吗?

【讨论】:

我投了反对票,因为这么多 SELECTs 会很慢,而且是不必要的。 谢谢你,Harvey French - 你救了我一年的生命,对此我非常感激。说真的,虽然谢谢你!!! 道格。你建议的方法行不通。你会怎么做。如果它不比我的好,那就投票给我。 PS> 选择很明显是为了方便测试 - 任何了解代码的人都可以轻松取出。 @HarveyFrench 将所有 N/A 替换为空白,然后使用 Doug 的方法。如果您知道Select 是多余的,那么为什么不删除它呢? :) 实际上,将空白替换为“xxxzzzaaa”,将 n/a 替换为空白,然后 Dougs 方法有效,然后将“xxxzzzaaa”替换为空白。我认为添加列更简单,更明显的方法让你看到会发生什么。它也有效。

以上是关于用上面单元格中的值查找并替换空白值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

复制带有颜色的单元格 - Excel

使用第一个空白上方单元格中的值填充非连续空白单元格

excel表格怎么提取单元格中的部分内容

如何根据多个单元格中的值自动填充

在 Excel 中重复宏,直到到达空白单元格

Excel如何用文本填充所有选定的空白单元格