Excel列单元格数据匹配

时间:2016-12-22 10:00:30

标签: excel excel-vba excel-formula excel-2010 excel-2007 vba

在Excel中,如果单元格包含某个字符串,我该如何比较和替换它。

我在Excel文件中有一个名为第一个联系人的专栏,我想要的就是第二个联系人列,如果它是与第一个相同联系人,而不是用正确的名称替换名称,否则什么都不做。

我试过这个查询 -

=IF(EXACT([1st Contact Person], "Same as 1st Contact Person"),[2nd Contact Person],"")

Excel文件---

1st Contact Person   2nd Contact Person
Chris Johnsson       Same as 1st Contact Person
Henrik Johnsson      Same as 1st Contact Person
Johanna Nilsson      Christofer Hanssen

我的查询没有运气!!

任何人都可以告诉我我做错了什么。

2 个答案:

答案 0 :(得分:0)

你可以通过Vba这样做: 假设第一个联系人在E列,第二个联系人在F列 然后用vba:

Sub sample()

    Dim TotalRows As Integer

    TotalRows = Range("E" & Rows.count).End(xlUp).Row

    For i = 1 To TotalRows

    If Range("F" & i).Value = "Same as 1st Contact Person" Then

    Range("F" & i).Value = Range("E" & i).Value

    End If
    Next i
End Sub

这将循环遍历F列并查找文本"与第一个联系人相同"如果发现它将用E列中的人的名字替换文本

希望这有帮助

答案 1 :(得分:0)

B2单元格

中尝试此公式
=IF($A2="","",IF($C2="Same as 1st Contact Person",$A2,IF(LEN($C2)>0,$C2,"")))

enter image description here