- 최초 작성일: 2001-07-11
- 최종 수정일: 2026-09-29
- 조회수: 33 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 수식 결과값 표시하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
Exceller는 엑셀을 만든 사람이 아니랍니다!!! 무슨 이런 당연한(경우에 따라서는 얼토당토 않은...) 이야기를 하는지 의아하시지요? 어떻게 전화번호를 아셨는지 Exceller의 사무실로 어떤 분이 전화를 하셨습니다.
He: Exceller님 이시지요?
Exceller: 예, 그런데... 누구시죠?
He: (알 거 없다는 투로) 회사다니는 회사원인데요, 질문이 있어서요!
Exceller: 어떤 일로 그러시죠?(이 때 까지만 해도 업무와 관련된 분이 전화를 하신 줄 알았습니다)
He: 엑셀이 왜 이렇게 자꾸 다운이 되요??(짜증이 잔뜩 묻은 목소리로!)
Exceller: 글쎄요... 그건 제 소관이 아니라서...(우물쭈물...)
He: 무슨 작업을 조금만 하려하면 "잘못된 연산이..." 하는 메시지가 나와서 도무지 작업을 진행할 수가 없네요!
Exceller: 어떤 작업을 하셨는지 모르겠지만 제 홈페이지 FAQs 코너에 가 보시면 관련 게시물이 하나 있는데 참고를 해 보시면...
He: 벌써 해 봤죠! 해 보고 안되니까 전화드리는 건데! 사흘동안 작업해 놓은 건데 시스템이 이렇게 불안정해서야, 이러니까 Microsoft가 욕먹는거 아니겠어요?......
이런 식의 통화가 한 3분 정도 오고 간 다음 끊었습니다. 끊고 나서 한동안 생각을 했지요. '왜 이런 전화에도 답변을 해야 하는 거지? 난 엑셀을 만든 사람도, MS 직원도 아닌데...' 그제서야 몹시 언짢아 지더군요.
상대방이 면식이 없는 사람이라면 최소한 자기가 누구이며, 어떤 경로를 통해 전화번호를 알았는지, 최소한의 미안한 감정은 있어야 할 터인데... 사회 초년이라고 하신 걸로 봐서, Exceller보다 한참 후배임이 분명한데, 암튼 기분이 묘했습니다. 강좌를 시작한 지 2년만에 그런 기분은 처음이었습니다.
아무리 온라인 상이라 익명성이 보장된다고는 하지만 지켜야 할 최소한의 네티켓은 지키는 것이 도리라는 생각이 듭니다.
게시판에 이런 질문을 주신 분이 계십니다.
질문 하나
... 고수님 도움을 주십시오. 문제는 다음과 같습니다. A1 셀에 5+7+30.5... 등등의 값이 들어있는데 B1 셀에 A1 셀의 합계를 표시할 수 있나요? 좀 도와 주세요. 아니면 A1 셀에 5+7-30.5... 등의 값이 있다고 할 때 숫자가 각 셀에 분리되어 나타나게 할 수 있나요? 고수님들 꼭 도와 주세요.
수식 결과값 표시하기
핵심 요약
- 셀에 5+7+30.5처럼 수식 모양의 문자열이 들어 있을 때 이름 정의의 EVALUATE를 이용하면 계산 결과를 얻을 수 있습니다.
- 결과 셀을 기준으로 이름을 정의하고 참조 대상에 =EVALUATE(셀주소)를 지정한 뒤 그 이름을 셀 수식에서 호출합니다.
- VBA에서는 선택 영역을 순회하며 각 셀 값 앞에 = 기호를 붙여 Formula 속성에 넣는 방법으로 같은 문제를 해결할 수 있습니다.
이 질문에 대해 엑사모(엑셀을 사랑하는 사람들의 모임) 2기 운영진 중 한분인 정월용님께서 Evaluate 메서드를 사용한 해결 방법을 알려 주셨군요. ^^ b1셀을 선택후 삽입-이름정의 에서 아무이름(예:범위)
=evaluate(sheet1!a1)
하시고요, b1셀에 =범위 하시면 되겠네요...
Evaluate 메서드는 Microsoft Excel 이름을 개체나 값으로 돌려주는 역할을 수행합니다. 과정을 좀더 상세하게 설명드리자면...
| 변경전 | 변경후 |
| 5+7+30.5 | =수식1 |
| 1-2-3+45 | =수식1 |
| 10*2-4+3 | =수식1 |
| 13-2*(5-3) | =수식1 |
| (6-4)*10-15 | =수식1 |
| 8*7/6-4 | =수식1 |
| 1/3*3-5+10 | =수식1 |
| 111*11 | =수식1 |
| 4-7+3*2/4 | =수식1 |
변경전과 같은 형태의 문자열 데이터가 있는데 이것을 변경후와 같이 결과값이 나타나도록 하려면 어떻게 해야 하는지에 대한 질문입니다. 여러 가지 방법이 있을 수 있습니다. 일단 정월용님이 알려주신 방법을 좀더 자세히 알아보도록 하지요.
(1) 결과값을 표시할 셀(여기서는 C66셀)을 선택한 다음, '삽입-이름-정의' 메뉴를 선택합니다.
(2) '이름 정의' 대화상자에서 적당한 이름(여기서는 수식1)을 지정하고 참조 대상 부분에는 =evaluate(c66)이라고 직접 타이핑합니다.
(3) '확인'을 누릅니다.
(4) C66 셀에 =수식1 이라고 입력하고 엔터키를 쳐 보세요. 결과값이 표시될 것입니다. 이 수식을 아래로 채우기 하면 나머지 셀의 결과값도 계산이 됩니다.
VBA를 사용해서 해결할 수도 있습니다.
Sub GetResult()
Dim rngCell As Range
For Each rngCell In Selection
rngCell.Formula = "=" & rngCell.Value
Next rngCell
End Sub
수식 앞에는 = 부호가 붙으니까 & 연산자를 사용하여 =를 붙여준 것입니다.
오늘은 여기까지...
정리 — 수식 결과값 표시하기
| 구분 | 내용 |
|---|---|
| 문제 | 셀에 문자열로 들어 있는 수식(예: 5+7+30.5)의 계산 결과를 표시 |
| 이름 정의 | 결과 셀 선택 후 삽입 - 이름 - 정의에서 이름(예: 수식1) 지정, 참조 대상에 =evaluate(c66) |
| 사용 | 결과 셀에 =수식1 입력 후 아래로 채우기 |
| VBA 방법 | 선택 영역의 각 셀 값 앞에 = 를 붙여 Formula 속성에 대입 |
자주 묻는 질문 (FAQ)
Q1. 문자열로 된 수식의 결과를 표시하려면 어떻게 하나요?
이름 정의에서 참조 대상에 evaluate 함수를 입력한 뒤, 그 이름을 셀에 =이름 형태로 입력하면 결과값이 표시됩니다.
Q2. 이름 정의는 어떻게 하나요?
결과를 표시할 셀을 선택하고 삽입 - 이름 - 정의 메뉴에서 적당한 이름을 지정한 다음 참조 대상에 evaluate와 그 셀 주소를 직접 입력합니다.
Q3. VBA로도 해결할 수 있나요?
네, 선택한 각 셀에 대해 Formula 속성에 = 기호와 셀 값을 연결한 문자열을 대입하면 됩니다.
마치며
이름 정의와 evaluate 함수를 활용하면 문자열로 된 수식도 손쉽게 계산할 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.