如何在Excel vlookup中查找具有IP的子网?

时间:2015-01-26 11:36:46

标签: regex excel vlookup

我需要做的是找出具有以下列的子网名称:

ColumnA          ColumnB     ColumnC             ColumnD
15.100.34.156                10.45.80.0/24       Pre-pro
15.100.34.45                 235.76.89.0/24      Dev-pro
10.45.80.111                 15.100.34.0/24      Int-Cli

我想要做的是从IP ColumnA的ColumnB中的columnD获取子网的名称。

= vlokkup(A1; C1:D 3,2,真)

我尝试使用上面的示例,但它不起作用。

有没有选择在正则表达式中使用这种方式?

1 个答案:

答案 0 :(得分:0)

我最终做了什么,考虑到我的所有子网都是Clase“C”/ 24,是:

  1. 将第一个块转换为二进制
  2. vlookup for Binary column
  3. 他们得到了结果。

    ColumnA          BinaryA     ColumnC         BinaryC       ColumnE
    15.100.34.156    00001111... 10.45.80.0/24   00001010...   Pre-pro
    15.100.34.45     00001111... 235.76.89.0/24  11101011...   Dev-pro
    10.45.80.111     00001010... 15.100.34.0/24  00001111...   Int-Cli
    

    它们:

    =VLOOKUP(B1;C:E;3;FALSE) //Get column D where B1 match in C:E
    

    获取二进制地址:

    =CONCATENATE(DEC2BIN(MID(B58;1;FIND(".";B58;1)-1);8);DEC2BIN(MID(B58;FIND(".";B58)+1;FIND(".";B58;(FIND(".";B58)+1)-FIND(".";B58))-1);8);DEC2BIN(MID(B58;FIND(".";B58;FIND(".";B58)+1)+1;FIND(".";B58;FIND(".";B58;FIND(".";B58)+1)+1)-FIND(".";B58;FIND(".";B58)+1)-1);8))
    

    价:https://chentiangemalc.wordpress.com/2011/02/03/geeky-excel-formulas-subnet-math-group-by-subnet-using-built-in-excel-2010-formulas/