茳子 发表于 2021-12-1 12:20:00

根据IP地址和掩码计算IP段的范围

由于工作关系需要根据IP地址和掩码计算IP段的第一个IP和最后一个IP,由于EXCEL如果仅通过函数似乎没法进行二进制的与这种逻辑,所以最后是将IP地址转换成二进制后当作字符串来操作。假设提供的IP地址为:192.168.43.239/18
通过字符串查找,可以分别得到A.B.C.D这四个数字,以及掩码M:

然后再根据掩码位数分别计算ABCD四个数字对应的网络地址:
A: IF($B2>8,C2,BIN2DEC(LEFT(DEC2BIN(C2,8),$B2)*10^(8-$B2)))
B: IF($B2>16,D2,IF($B224,E2,IF($B232,"ERROR MASK",IF($B2












途徒 发表于 2021-12-7 08:00:03

这规则听得云山雾罩而且感觉公式写得很复杂,完全可以很简化的

醉梦释疑 发表于 2022-1-5 04:09:32

嗯,我也觉得公式有点复杂了,不知道还能不能再简单一点。需求其实很简单,就是二进制下两个数进行比较,例如,IP是11011101,掩码是11110000,那网络地址就是11010000。我是根据掩码1的个数,从11011101左边取数,剩下的补0。

沙漠里的骆驼 发表于 2022-2-3 06:16:55


百度了下,大概这样计算出来的,没有优化公式,理解计算过程

没文化的村娃 发表于 2022-2-11 03:42:33

是的,我就只是在一个单元格上实现了这个计算结果而已。

蔡啊 发表于 2022-2-17 17:09:40

虽然看不懂,但不妨我点赞
页: [1]
查看完整版本: 根据IP地址和掩码计算IP段的范围