从静态表中替换excel中的文本

时间:2013-06-20 12:56:43

标签: excel

我每天都会向我发送一份报告,该报告只提供IP地址,并希望创建一个宏,该宏将查找地址以从另一个表(excel表报告的外部)主持转换。因此,当它被执行时,IP地址将被替换为实际的主机名。

Date/Time Detected    Source IP Address       Destination IP Address
6/19/2013 15:46       172.16.16.40            172.16.4.10
6/19/2013 15:46       172.16.16.40             *
6/19/2013 15:02       172.16.16.40             *
6/19/2013 15:02       172.16.16.40             *
6/19/2013 15:02       172.16.16.40             *
6/19/2013 15:02       172.16.16.40             *

在这个例子中,我将有一个具有IP地址和主机地址(来自dns导出表)的表,我想用我的每日报告中的主机名替换源IP。 dns表是静态的,每日报告将使用来自静态dns表的主机名替换IP进行填充。

1 个答案:

答案 0 :(得分:4)

我创建了一个非常简单的示例,说明如何执行此操作:

enter image description here

现在(为了更容易制作图片)DNStable是同一张表中的命名范围(绿色背景) - 但它可能位于另一张表/工作簿中。 VLOOKUP函数尝试在第一个参数(“源IP地址”)和该表中的第一列之间找到完全匹配(第四个参数FALSE表示“完全匹配”);如果找到,则返回第2列中的值;如果未找到,则返回#N/A

要在DNS查找是不同的文件时执行相同的操作,请使用以下公式:

=VLOOKUP(B2,DNSlookup.xlsx!DNStable,2, FALSE)

DNSlookup.xlsx文件包含与以前一样的命名范围DNStableenter image description here

只要在您的Excel副本中打开该文件,就可以了 - 它们不必位于同一个文件中。现在将此公式复制到单元格D2中,然后将其一直向下拖动。很酷的技巧:如果选择单元格,然后双击右下角的小“dragbox”,它将自动完全向下填充(与其左侧的单元格一样多的单元格)。试试吧!

注意 - 如果您现在关闭DNS查找文件和此文件,然后再次打开它,您将收到有关“更新外部链接”的警告。此时您将看到公式已更改为以下内容:

=VLOOKUP(B2,'X:\code\DNSlookup.xlsx'!DNStable,2, FALSE)

正如您所看到的,它创建了一个指向保存其他文件的位置的链接 - 但它也保留了上次成功查找的值。

这应该适合你。