如何在Excel中指定值范围?

时间:2014-09-19 05:30:14

标签: excel

我有一个excel报告,其中包含两列'Site Name''Asset IP Address'。我上传了一份示例报告here。我需要一份报告,按站点显示IP范围,如下所示:

  1. 评估站点1 192.0.2.134 - 192.0.2.201
  2. 评估站点2 192.0.2.203 - 192.0.2.250等
  3. 我尝试过使用VLOOKUPCountIF,但我无法完成这项工作。任何建议都非常感谢。提前谢谢。

2 个答案:

答案 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在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。