1

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

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

4

3 回答 3

2

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

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

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

于 2012-10-01T16:56:10.793 回答
2

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

于 2012-10-01T17:08:10.967 回答
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

无论工作表包含多少行数据,此宏都应该起作用

于 2012-10-01T17:10:37.423 回答