본문 바로가기

Google Spreadsheet/사례별 Tips

[Tip] 알파벳 ABC를 숫자로 변환하기

   ABC 알파벳을 123으로 변환하기

칼럼명이 몇번째인지, 알파벳마다 숫자로 된 코드를 달고 싶을 때 알파벳마다 숫자를 부여하고 싶을 때가 있습니다. 이 때 유용한 함수가 있습니다. 바로 code()함수죠. code()함수는 각 문자에 대해 정해진 유니코드를 계산해줍니다. 유니코드는 모든 문자들에 대해 U+16진수 숫자로 된 값들이 정해진 표준화 된 코드입니다. 여기서 code()함수는 첫번째 문자에 대해 유니코드 16진수 숫자만 10진수 숫자로 변환해서 계산해주죠. 이 때, 대문자 A의 유니코드는 65, B는 66입니다. 이걸 활용해서 각 영문자들의 순서인 숫자값을 계산하는 함수를 만들었습니다.

 

=code(upper('알파벳 셀 주소 또는 값'))-code("A")+1

 

예로 알파벳 C 유니코드는 67입니다. C 유니코드 67에서 A 유니코드 65를 빼면 2가 나오죠. C와 A의 차이입니다. 여기에 1을 더해주면 C의 알파벳 순서인 숫자값이 계산됩니다. 첫번째 code()함수 내부에 있는 upper() 함수는 소문자를 대문자로 변환해주는 함수입니다. 대문자 A 유니코드는 65지만 소문자 a 유니코드는 97입니다. 그래서 계산할 알파벳이 소문자 a일 때, 대문자 A 유니코드를 빼면 원하는 값을 얻을 수 없습니다. 그래서 대문자로 변환하여 동일한 대문자 유니코드 기준에서 차감되게 했습니다.

 

 

대문자 E, 소문자 g에 대해 숫자로 변환된 순서가 계산된 것을 확인할 수 있습니다.