Excel If / Then替换文本

时间:2013-02-08 22:33:47

标签: excel excel-formula

我对Excel有点新,我不确定是否需要公式或宏来完成此任务。

我需要找到“简史密斯”的所有实例并将其替换为她的employeeID,比方说是513.

名称仅出现在A列中,并且可能有多个实例,因此我需要搜索A列下的所有单元格。我需要为多个员工执行此操作,因此我猜测它很大{{1 }}。谢谢!

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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”的每个可能匹配,并将其替换为她的employeeID

答案 2 :(得分: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公式,从A栏看。但这应该让你开始。