将填充的列复制到同一行中另一列中的空字段

时间:2012-10-01 16:52:09

标签: excel outlook

我有一个导出的Outlook联系人列表,其中包含大约1800封电子邮件。一列(Col A)中的电子邮件字段仅填充大约一半的联系人,而另一列(Col B)的“显示的名称”包含其他联系人的电子邮件地址。但是,除了电子邮件地址之外,“显示名称”列还包含其他数据,因此我希望避免覆盖Col A中的现有电子邮件。

所以,我想找到一种方法来填充Col A中的空字段和来自Col B的数据。任何帮助都将不胜感激!

3 个答案:

答案 0 :(得分:2)

在第三栏中,输入此代码....

=IF(A1 <> "",A1,B1)

然后,将其应用于所有1800行。

答案 1 :(得分:2)

您还可以使用嵌套在if语句中的ISBLANK函数,并在第三列中连接两列,如下所示:= CONCATENATE(IF(ISBLANK(A2),B2,A2),B2)

答案 2 :(得分:1)

如果您尝试将Col.B中的所有内容放入空的Col.A,那么您可以在宏中使用此VBA代码:


    Sub macro1()

    Dim theSheet As Worksheet
    Dim theRange As Range
    Dim emailLocation As Integer
    Dim output As String

    Set theSheet = Sheets("Sheet1")

    Set theRange = Range("A1:A" & theSheet.UsedRange.Rows.Count)


    For Each theCell In theRange

        If theCell = "" Then

            emailLocation = InStr(1, theCell.Offset(0, 1), "(")
            output = Mid(theCell.Offset(0, 1), emailLocation)
            theCell.Value = output

        End If


    Next

End Sub

无论工作表包含多少行数据

,此宏都应该有效