+로 시작하는 전화번호가 왜 수식으로 계산되는지, 근본 원인과 해결 방법을 자세히 설명합니다.
vcf 파일을 CSV로 변환해서 엑셀로 열었더니, +82-10-1234-5678처럼 멀쩡했던 전화번호가 60, 71 같은 뜬금없는 숫자로 바뀌어 있는 경우가 있습니다. 심지어 셀을 클릭해 수식 입력줄을 보면 =82-10-1234-5678 같은 수식이 들어가 있기도 합니다.
엑셀과 구글 시트는 셀 내용이 =, +, -, @ 로 시작하면 이것을 일반 텍스트가 아니라 수식으로 해석합니다. 원래 이 규칙은 사용자가 값을 입력했을 때 "이건 계산해달라는 뜻이겠지"라고 추측해서 편의를 봐주려고 만든 기능입니다.
문제는 국제 전화번호 표기 방식(+82-10-1234-5678)도 이 조건에 정확히 들어맞는다는 점입니다. 엑셀 입장에서는 이 값이 "82에서 10을 빼고, 1234를 빼고, 5678을 빼라"는 뺄셈 수식처럼 보입니다. 실제로 계산해보면:
82 - 10 = 72
72 - 1234 = -1162
-1162 - 5678 = -6840
(자릿수나 0 처리 방식에 따라 실제 결과 값은 다르게 나올 수 있지만, 원리는 "부호와 하이픈을 산술 기호로 오인해 뺄셈을 수행한다"는 것입니다.) 이건 CSV 파일 자체의 결함이 아니라, 엑셀이 파일을 열 때 셀 형식을 추측하는 방식의 오래된 한계입니다.
'+82-10-1234-5678처럼 작은따옴표로 시작하면, 엑셀과 구글 시트 모두 이걸 "텍스트로 표시하라"는 신호로 인식해 수식 계산을 하지 않습니다. 화면에는 작은따옴표가 보이지 않습니다.="+82-10-1234-5678" 형태로 감싸면 셀 값이 정확히 그 문자열이 되도록 강제할 수 있습니다. 다만 이 방식은 CSV 파일을 다른 프로그램(예: 구글 연락처 가져오기)이 그대로 읽을 때는 수식 문자까지 포함된 문자열로 들어가 버릴 수 있어 주의가 필요합니다.Google CSV와 Outlook CSV는 일부러 이 처리를 하지 않습니다. 이 두 형식은 엑셀에서 보라고 만든 게 아니라 구글 연락처·아웃룩의 가져오기 기능이 값을 있는 그대로 읽어들이는 전용 포맷이기 때문에, 여기에 작은따옴표를 붙이면 오히려 가져온 연락처에 이상한 문자가 섞여 들어가는 새로운 문제가 생깁니다. 용도에 맞는 형식을 그대로 사용하시면 됩니다.
+, -, =, @ 로 시작하는 셀을 수식으로 오인하는 엑셀의 오래된 동작 방식입니다.