如何通过excel查找并替换同一行中的两个多个值?

如何通过excel查找并替换同一行中的两个多个值?

假设我的数据的所有行中的值 4 不能与值 18 一起出现。

如何将所有值为 18 的行的值 4 替换为任意值?

参见下图:

在此处输入图片描述

答案1

根据我对您问题的理解,我建议使用 VBA 宏来自动执行此任务。我假设您正在搜索实际数字 4,而不是字符 4。因此,如果是 44,则应将其忽略,而不要尝试替换。

在工作表中按 ALT + F11 访问 VBA 编辑器。从插入菜单插入模块。双击左侧窗格中的模块名称以访问代码编辑器。现在将以下代码粘贴到其中。

Sub Replace4()

Dim MyRange As Range
Dim RowCount As Long
Dim ColCount As Integer
Dim i, j, k
Const Replaced = 0
Set MyRange = Range("B2:F12")

RowCount = MyRange.Rows.Count
ColCount = MyRange.Columns.Count

For i = 1 To RowCount
    If MyRange.Columns(1).Cells(i) = 18 Then
        For j = 2 To ColCount
            If MyRange.Columns(j).Cells(i) = 4 Then
               MyRange.Columns(j).Cells(i).Value = Replaced
            End If
        Next j
    End If

Next i

End Sub

请注意,您应将常量替换(请参阅Const Replaced = 0)设置为预期值,并在第Set MyRange = Range("B2:F12")

确保此范围的第一列确实是您要检查是否存在 18 的列。

将 Excel 工作表保存为 Excel 2007 及更高版本 (启用宏的工作表) 的 xlsm。

现在在工作表中按 ALT + F8 访问宏对话框并运行名为 Replace4 的宏

在此处输入图片描述

相关内容