我的公司使用一个巨大的 Excel 电子表格,其中显示了哪些计算机正在使用哪些 IP 地址(以及其他信息)。未使用的 IP 地址仍占一行,但计算机名称字段将为空。
例如,假设我的电子表格可能如下所示:
Computer Name | IP Address
---------------+---------------
Joe-PC | 192.168.1.2
---------------+---------------
Tom-PC | 192.168.1.3
---------------+---------------
| 192.168.1.4 <----- This IP is not used
---------------+---------------
Scott-PC | 192.168.1.5
---------------+---------------
我想创建一个当前未使用的所有 IP 地址的列表。因此,我需要搜索“A”为空的所有行,然后将“B”添加到列表中。有没有办法在 Excel 中执行此操作?
答案1
在 2010 中插入一个表格并选中“我的表格有标题”框。它应该已经选择了所有数据。如果没有,请输入正确的范围,然后单击“确定”。
创建表格后,单击“计算机名称”标题上的过滤按钮。取消选中“全选”复选框,滚动到底部并选择“空白”。单击“确定”,它将仅显示没有计算机名称的行。
获得这些数据后,如果您想将其传输到另一列/工作表/工作簿,请选择您的范围并按alt+;仅选择可见单元格,按ctrl+c复制选定的可见单元格。
如果您使用的是以前的版本,这些具体说明可能不起作用。
答案2
此宏将把您的列表粘贴到 C 列中
Sub AutofilterBlanks()`
Columns("A:B").Select
Selection.AutoFilter
ActiveSheet.Range("A:B").AutoFilter Field:=1, Criteria1:="="
Columns("B:B").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFilter
End Sub
答案3
您可以使用数组公式创建列表:
=IFERROR(INDEX($B$1:$B$20,SMALL(IF($A$1:$A$20="",ROW($B$1:$B$20)),ROW()-1)),"")
按 Ctrl+Shift+Enter 键输入。然后,根据需要向下填充。
值得注意的是,这是一个动态解决方案;当您的表格更新时,可用 IP 地址列表也会更新,无需用户输入。只需确保您的公式填充得足够深即可。