0

我对 Excel 有点陌生,我不确定是否需要公式或宏来完成这项任务。

我需要找到“Jane Smith”的所有实例并将其替换为她的员工 ID,比如说它的 513。

名字只出现在A列,而且可能有多个实例,所以我需要搜索A列下的所有单元格。我需要为多个员工这样做,所以我猜它很大If/Then/Else。谢谢!

4

3 回答 3

1

如果名称是单元格中唯一的文本,那么您可以查看VLOOKUP公式。

于 2013-02-08T22:36:00.843 回答
0

如果您是 excel 新手,那么您并不是在寻找其他地方回答的 VBA 解决方案。

最简单的方法.....如果您只是想将“Jane Smith”替换为“513”,那该怎么办: 1. 转到单元格 A1 2. Ctrl + 空格键(突出显示 A 列) 3. Ctrl + H (打开查找/替换窗口) 4. 在查找中输入“Jane Smith”,在替换中输入“513”。

如果你只有几件事要做,这就是要走的路。

如果您想使用公式以正确的方式执行此操作,这就是您想要的:1) 创建一个包含 2 列的新选项卡。在 A 列中,填写您的所有员工姓名。在 B 栏中,填写相应的员工编号。如果您有 10 名员工,则该表将从 A1 运行到 B10。双击选项卡将其命名为“tab2”

2) 在当前选项卡或文件中,转到单元格 A1 并插入一列 (Alt + I + C)。现在您有一个新的空白列 A,所有名称现在都在列 B 中。假设第一个名称从第 5 行开始,在所有标题内容之后。因此,假设您的名字在单元格 B5 中。

3)在新的空白列A中,在单元格A5中,使用以下公式:

=VLOOKUP(B5,'tab2'!$A$1:$B$10,2,0)

此公式将在单元格 A1-B10 的“tab2”中查找,以查找您在单元格 B5 中链接的内容,该名称类似于“Jane Smith”。它将在 tab2 的 A 列中找到此数据,然后在第 2 列中查找。末尾的零只是告诉公式仅使用精确结果。

--如果你想让数字留在新的B列,有很多方法可以做到这一点,例如插入新的A列,将B列复制到A列,然后在B列中写入vlookup公式,查看列答:但这应该让你开始。

于 2013-02-22T08:32:03.493 回答
0

嗯试试这个:

Sub Test()
    Dim empVal As Range
    Dim employee As String: employee = "Jane Smith"
    Dim replaceStr As String: replaceStr = "513"
    Do While Not empVal Is Nothing
    Set empVal = activSheet.Columns(1).Find(What:=employee, LookIn:=xlValues, _
                    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                    MatchCase:=False, SearchFormat:=False)
        If Not empVal Is Nothing Then empVal = replaceStr
    Loop
End Sub

这会尝试搜索“Jane Smith”的所有可能匹配项并将其替换为她的员工 ID

于 2013-02-12T04:23:01.990 回答