我有一个excel报告,其中包含两列'Site Name'
和'Asset IP Address'
。我上传了一份示例报告here。我需要一份报告,按站点显示IP范围,如下所示:
我尝试过使用VLOOKUP
和CountIF
,但我无法完成这项工作。任何建议都非常感谢。提前谢谢。
答案 0 :(得分:0)
我有你的问题的解决方案。你知道VBA吗? 步骤1:按Alt + F11显示VBA编辑器 第2步:选择菜单插入/模块 第3步:选择菜单插入/过程 - 名称:输入'FindIP' - 在组框类型中,选择“功能” 单击确定 第4步:输入以下代码:
Public Function FindIP(SiteName As String, SiteNameRange As Range, IPRange As Range) As String
Dim RangeOfIP As String
RangeOfIP = ""
For i = 1 To SiteNameRange.Rows.Count
If (SiteNameRange.Cells(i, 1).Value = SiteName) Then
RangeOfIP = RangeOfIP + IPRange.Cells(i, 1).Value + " - "
End If
Next i
FindIP = RangeOfIP
End Function
步骤5:关闭VBA编辑器 步骤6:复制列站点名称并删除重复(数据/删除重复项) 步骤7:右键每个站点名称项,键入函数FindIP(SiteNameItem,SiteNameRange,IPRange)
答案 1 :(得分:0)
如果你想要一个纯粹的基于配方的解决方案,那么假设你把E2中的评估站点1 ,F2中的数组公式** :
= INDEX($ B $ 2:$ B $ 33 MATCH(MIN(IF($ A $ 2:$ A $ 33 = E2,0 + SUBSTITUTE($ B $ 2: “” $ B $ 33 “”)) ),IF($ A $ 2:$ A $ 33 = E2,0 + SUBSTITUTE($ B $ 2:$ B $ 33,“。”,“”)),0))&“ - ”& INDEX($ B $ 2) :$ B $ 33 MATCH(MAX(IF($ A $ 2:$ A $ 33 = E2,0 + SUBSTITUTE($ B $ 2: “” $ B $ 33 “”))),IF($ A $ 2:$甲$ 33 = E2,0 + SUBSTITUTE($ B $ 2: “” $ B $ 33 “”)),0))
向下复制将为E3,E4等中列出的网站提供类似的结果。
此致
**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。