엑셀에서 .으로 분리된 문자열 형식의 IP 주소를 10진수 숫자로 바꾸기 (또는 그 반대로 바꾸기)

.으로 분리된 문자열 형식의 IP 주소를 10진수 숫자로 바꾸기 위해서는, A1 셀에 문자열 형식의 IP 주소가 입력되어있다고 가정했을 때, 아래 수식을 사용하면 된다.


=LEFT(A1, SEARCH(".", A1) - 1) * POWER(2, 24) + INT(SUBSTITUTE(MID(A1, SEARCH(".", A1) + 1, 11), ".", "", 2)) * POWER(2, 16) + INT(MID(A1, SEARCH("-", SUBSTITUTE(A1, ".", "-", 2)) + 1, 7)) * POWER(2, 8) + MID(A1, SEARCH("-", SUBSTITUTE(A1, ".", "-", 3)) + 1, 3)


변환되는 결과는 대략 아래와 같다.


127.0.0.1        →  2130706433

169.254.165.233  →  2852038121

192.168.123.100  →  3232267108



10진수 숫자 형식의 IP 주소를 .으로 분리된 문자열 형식으로 바꾸기 위해서는, 마찬가지로 A1 셀에 10진수 형식의 IP 주소가 입력되어있다고 가정했을 때, 아래 수식을 사용하면 된다.

 

=INT(A1 / POWER(2, 24)) & "." & INT(MOD(A1, POWER(2, 24)) / POWER(2, 16)) & "." & INT(MOD(A1, POWER(2, 16)) / POWER(2, 8)) & "." & MOD(A1, POWER(2, 8))



두 가지 수식 모두 더 간단하게 바꿀 수 있는지는 잘 모르겠고, 오류 검사는 하지 않는다.

,