- 최초 작성일: 1999-10-22
- 최종 수정일: 2026-09-29
- 조회수: 29 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 다중 수식(MegaFormula)
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
이번 강좌는 해외사업부 또는 외국인 친구를 많이 가진 분들에게 도움이 될 것 같습니다.
대개가 친구나 새로운 사람을 사귀게 되면 명함같은 것을 받게 되고 시간이 더 지나면 주소록을 만들게 되지요?
아래와 같은 (외국인) 주소록이 있다고 가정해 봅니다.
다중 수식(MegaFormula)
핵심 요약
- 이름 문자열에서 첫 번째와 두 번째 공백의 위치를 찾아 first name과 last name을 분리합니다.
- 여러 단계의 문자열 가공 과정을 이용해 middle name 또는 middle initial을 제거할 수 있습니다.
- 단계별 계산을 하나의 긴 수식으로 합쳐 같은 결과를 내는 MegaFormula 개념을 살펴봅니다.
| NAME | Tel | 주소 | |
| John Q. Public | 02-846-4321 | 서울.동작구 신대방동 | |
| Bob Wright | 0331-482-4882 | 경기.수원 권선구 | |
| Michale J. Johnson | 0343-776-1298 | 경기.안양 만안구 | |
| Jill Marie Jackson | 02-777-1123 | 서울.용산구 한강로 | |
| R.J.Smith | 053-696-3957 | 대구.남구 대명동 | |
| R.Jay Smith | 051-224-6266 | 부산.중구 서면 | |
| John D. Rockfeller | 02-202-2002 | 서울.마포구 합정동 |
여기서 middle name이나 middle initial 부분을 제거해야 할 경우에는 어떻게 해야 할까요?
수작업으로 할 수야 있겠지만 시간이 걸릴 것이고, 더군다나 이름이 백개 정도 되면 만만찮은 작업이 될 것입니다.
참고: 첫 번째 주소록 표와 단계별 표의 이름이 서로 다릅니다(Michale J. Johnson과 Michale J. Fox, R.J.Smith와 Billy Crystal, R.Jay Smith와 R. Jay Smith). 원문 그대로 두었으며, 단계별 표의 값은 그 표의 이름을 기준으로 맞습니다.
| NAME | 단계 1 | 단계 2 | 단계 3 | 단계 4 | 단계 5 | 단계 6 |
| John Q. Public | 5 | 8 | 8 | John | Public | John Public |
| Bob Wright | 4 | #VALUE! | 4 | Bob | Wright | Bob Wright |
| Michale J. Fox | 8 | 11 | 11 | Michale | Fox | Michale Fox |
| Jill Marie Jackson | 5 | 11 | 11 | Jill | Jackson | Jill Jackson |
| Billy Crystal | 6 | #VALUE! | 6 | Billy | Crystal | Billy Crystal |
| R. Jay Smith | 3 | 7 | 7 | R. | Smith | R. Smith |
| John D. Rockfeller | 5 | 8 | 8 | John | Rockfeller | John Rockfeller |
(단계 1) 첫번째 공란의 위치를 찾아냄
(단계 2) 두번째 공란의 위치를 찾아냄
(단계 3) 만약 두번째 공란이 없을 경우 첫번째 공란의 위치를 사용함
(단계 4) first name 부분을 발췌함
(단계 5) last name을 발췌함
(단계 6) first name과 last name을 합침
이처럼 6단계의 가공작업을 거쳐 원하는 최종자료를 추출하였습니다.
수백개의 이름을 일일이 수작업으로 고치는 것보다는 이 방법이 낫겠지요?
"엑셀의 함수에 대해서는 더 배울 것이 없도다!" 라고 생각하시는 분은 다음의 것을 보시기 바랍니다. 즉 1~6단계의 다소 복잡한 과정을 거치지 않고 바로 한행에서 다 끝장을 보는 것입니다. 이것을 megaformula라고 합니다.(다중 수식이라고 번역되나요?)
함수에 대해서는 더 이상 배울 것이 없다고 생각하시는 분들도 잘 들여다 보시면 또 한수를 건질(?)수가 있을 것입니다.
참고: 다중 수식(MegaFormula)의 원문 수식은 이 페이지에 포함되어 있지 않고 아래의 결과 값만 남아 있습니다. 앞의 (단계 1)~(단계 6)을 한 줄의 수식으로 합친 것이라는 설명만 확인됩니다.
John Public
Bob Wright
Michale Fox
Jill Jackson
Billy Crystal
R. Smith
John Rockfeller
뭔가 엄청나게 복잡해 보이는 수식이 하나 나타났지요? 한송이 국화꽃을 피우기 위해선 봄부터 소쩍새가 시끄럽게 울어대야 하듯이, 여러 단계를 거쳐야 할 것을 한줄에 표현하기 위해서도 이정도 복잡함은 감수를 해야겠지요?
고참님들은 위 수식을 잘 분해해서 살펴보시기 바랍니다. 많은 것을 얻으실테니깐…
오랜만에 골치아픈 것을 했으므로 오늘은 짧게하고 마칩니다.
다음에 또…
정리 — 다중 수식(MegaFormula)
| 구분 | 내용 |
|---|---|
| 목적 | 외국인 이름에서 middle name 또는 middle initial을 제거하고 first name과 last name만 남기기 |
| 단계 1 | 첫 번째 공란의 위치를 찾음 |
| 단계 2 | 두 번째 공란의 위치를 찾음 |
| 단계 3 | 두 번째 공란이 없으면 첫 번째 공란의 위치를 사용 |
| 단계 4 | first name 부분을 발췌 |
| 단계 5 | last name을 발췌 |
| 단계 6 | first name과 last name을 합침 |
| MegaFormula | 1~6단계를 한 줄의 수식으로 합친 것 (다중 수식) |
자주 묻는 질문 (FAQ)
Q1. 이름에서 middle name을 제거하려면 어떻게 하나요?
첫 번째와 두 번째 공란의 위치를 찾고, 이를 이용해 first name과 last name을 발췌한 뒤 합칩니다. 두 번째 공란이 없으면 첫 번째 공란의 위치를 대신 씁니다.
Q2. MegaFormula란 무엇인가요?
여러 단계로 나누어 계산하던 과정을 한 줄의 수식으로 합쳐 한 번에 결과를 구하는 것입니다. 다중 수식이라고 번역됩니다.
Q3. middle name이 없는 이름은 어떻게 처리되나요?
Bob Wright처럼 공란이 하나뿐인 이름은 두 번째 공란을 찾을 때 오류가 나므로, 단계 3에서 첫 번째 공란의 위치를 대신 사용합니다.
마치며
이름 정리처럼 반복되는 문자열 작업은 단계별로 검증한 뒤 다중 수식으로 합쳐 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.