本文链接:http://oicu.cc.blog.163.com/blog/static/1230394712009101673813585/
用Excel来计算IP地址、子网及子网掩码的日志链接:
http://oicu.cc.blog.163.com/blog/static/123039471200910150324385/
Excel只能用vba来完成,用函数法有限制(DEC2BIN函数需要加载宏里的分析工具),且过于繁琐。
而Google SpreadSheets完全用函数即可达到上面所要计算的结果。
不再累赘的贴公式,在下面的链接里查看,不需要登录Google账号,“视图-显示公式栏”即可查看公式。
在线表格示例查看(English):
https://docs.google.com/spreadsheet/ccc?key=0AimywQVCI0KedGp6TGhIQTZjU2F0cm4xU1Jya0diYUE
另外,查找IP所属部门的问题如果用Excel的函数来实现也可以,只是步骤繁琐。
Excel中,把IP地址转为长整形数字的函数(作者bunker@newsmth.net,假设IP地址在A1):
1000000000*left(a1,FIND(".",a1)-1)+1000000*left(right(a1,len(a1)-FIND(".",a1)),FIND(".",right(a1,len(a1)-FIND(".",a1)))-1)+1000*left(right(right(a1,len(a1)-FIND(".",a1)),len(right(a1,len(a1)-FIND(".",a1)))-FIND(".",right(a1,len(a1)-FIND(".",a1)))),FIND(".",right(right(a1,len(a1)-FIND(".",a1)),len(right(a1,len(a1)-FIND(".",a1)))-FIND(".",right(a1,len(a1)-FIND(".",a1)))))-1)+right(right(right(a1,len(a1)-FIND(".",a1)),len(right(a1,len(a1)-FIND(".",a1)))-FIND(".",right(a1,len(a1)-FIND(".",a1)))),len(right(right(a1,len(a1)-FIND(".",a1)),len(right(a1,len(a1)-FIND(".",a1)))-FIND(".",right(a1,len(a1)-FIND(".",a1)))))-FIND(".",right(right(a1,len(a1)-FIND(".",a1)),len(right(a1,len(a1)-FIND(".",a1)))-FIND(".",right(a1,len(a1)-FIND(".",a1))))))
1、把表二里的IP换成长整数
2、把部门表里的子网掩码去掉,IP也换成长整数,并且按照长整数的升序排列
用lookup函数找一下就行了。
如果改用Google SpreadSheets,只需下面这行即可达到上面那个长长的函数的结果:
=ArrayFormula(1*JOIN("",TEXT(SPLIT(A1, "."),"000")))
Linux/Windows命令行工具:http://jodies.de/ipcalc
评论