Excel: IPアドレスでのソート

http://web.archive.org/web/20071009170346/http://www.eternal.nest.or.jp/shiro/misc/excelip.html


基本的な考え方。

aaa.bbb.ccc.ddd というIPアドレスがあるとすると、これをオクテットごと分離して、桁を上げて加算し、整数 xxx を作る。

xxx = aaa x 256^3 + bbb x 256^2 + ccc x 256 + ddd

まぁ、要するに 本来のIPv4アドレスは本来 32bit 整数 ( unsigned int ) に戻しているわけです。

=IF( ISBLANK(G3),"", VALUE( MID(G3,1,SEARCH(".",G3,1)-1))*256^3 + VALUE(MID(G3,SEARCH(".",G3,1)+1,SEARCH(".",G3,SEARCH(".",G3,1)+1)-SEARCH(".",G3,1)-1))*256^2 +VALUE(MID(G3,SEARCH(".", G3, SEARCH(".",G3,1)+1)+1,SEARCH(".", G3, SEARCH(".", G3, SEARCH(".",G3,1)+1) +1 ) - SEARCH(".", G3, SEARCH(".",G3,1)+1)-1))*256 + VALUE(MID(G3,SEARCH(".", G3, SEARCH(".", G3, SEARCH(".",G3,1)+1) +1 )+1,LEN(G3) - SEARCH(".", G3, SEARCH(".", G3, SEARCH(".",G3,1)+1) +1 ))))