- 최초 작성일: 2000-08-21
- 최종 수정일: 2026-09-29
- 조회수: 22 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 재미있는 계산방법 하나
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
"Q&A"란에 아주 재미있는 질문이 하나 올라와 있군요.
질문 하나
알켜주세요.
설문지 배부수 대비 응답자 인원을 알아볼 수 있게 하는 엑셀 파일을 만들 때
배부/응답
20/15
15/12
30/22
……………
계 ?/?
이처럼 슬래쉬(/)를 넣은 셀 합계를 계산할 수 있는 방법은 없는지요?
재미있는 계산방법 하나
핵심 요약
- FIND로 슬래시 위치를 찾고 MID·RIGHT·LEN을 이용하면 슬래시 앞뒤의 숫자를 각각 추출할 수 있습니다.
- 추출된 문자열은 VALUE로 숫자로 변환해 응답률과 같은 계산에 사용할 수 있습니다.
- 범위 전체의 배부 수와 응답 수를 각각 합산한 뒤 & 연산자로 연결하면 “합계/합계” 형태의 결과를 배열수식으로 만들 수 있습니다.
여러분이라면 어떻게 해결을 하시겠습니까? 혹시 '그런 작업이 엑셀로 가능하기나 한가?'라고 생각하시는 분은 없으신지? 분명 가능합니다. 하지만 이런 식으로는 사용을 하지 않는 것이 좋습니다. 한 셀에는 한 개의 자료를 넣어야 나중에 고생을 덜합니다. 데이터베이스를 구축할 때, 어떻게 중복되지 않고 효율적으로 할 것인가에 많은 노력을 기울여 애초에 자료를 입력할 때부터 신경을 많이 써야 하는 것입니다.
하지만 다른 사람이 이미 이런 식으로 자료를 만들어 두었다면, 그래서 이걸 가지고 위의 질문하신 분처럼 작업을 해야하는 경우도 있을 것이므로 이런 때를 대비하여 설명을 드리겠습니다. 다른 부분에도 잘 활용을 하실 수도 있을 것 같습니다. 눈여겨 봐 두시기 바랍니다.
일단 표를 하나 만들었습니다. "계"를 구해달라는 질문이었는데 아래와 같이 "응답율" 항목도 추가를 해 보았 습니다(하나를 물었는데 열을… 아니 둘을 알려주는 Exceller! 대단하지요? 농담입니다. 하하 ^^) 배부/응답 부분에 있는 숫자를 적당한 값으로 바꾸어 보세요. "계" 부분 및 응답율이 연동되어 변할 것입니다.
| 배부지역 | 배부/응답 | 응답율 |
| 강동구 | 200/185 | 92.5% |
| 강서구 | 15/12 | 80.0% |
| 영등포구 | 30/22 | 73.3% |
| 종로구 | 100/80 | 80.0% |
| 강남구 | 290/230 | 79.3% |
| 동작구 | 150/100 | 66.7% |
| 관악구 | 150/140 | 93.3% |
| 서초구 | 40/10 | 25.0% |
| 동대문구 | 200/150 | 75.0% |
| 서대문구 | 130/100 | 76.9% |
| 노원구 | 130/105 | 80.8% |
| 계 | 1435/1134 | 79.0% |
참고: 아래 코드 박스의 셀 주소(C42, C38:C48, C42:C52)는 원본 워크시트 기준으로 서로 다르게 적혀 있으므로, 직접 적용하실 때에는 자신의 배부/응답 셀 범위로 바꿔 입력하시기 바랍니다. 원문에는 (2)라는 번호가 빠져 있으나, 이어지는 두 수식은 각각 슬래시 앞(배부)과 뒤(응답)의 합계를 구하는 단계이며 범위를 사용하므로 배열수식(Ctrl+Shift+Enter)으로 입력합니다.
(1) 먼저, 강동구의 응답율 부분(파란색 셀)에 입력된 공식을 살펴보면,
=SUM(VALUE(RIGHT(C42,LEN(C42)-FIND("/",C42))))/SUM(VALUE(MID(C42,1,FIND("/",C42)-1)))
즉 슬래쉬를 기준으로 좌측편과 우측편을 추려낸 다음 이것을 나누어 준 것입니다.
=SUM(VALUE(MID(C38:C48,1,(FIND("/",C38:C48)-1))))
"배부" 수는 슬래시 앞부분을 추출해 합산합니다.
와 같이 Mid() 함수를 사용해 보았습니다.
=SUM(VALUE(RIGHT(C38:C48,LEN(C38:C48)-FIND("/",C38:C48))))
"응답" 수는 슬래시 뒤부분을 추출해 합산합니다.
이렇게 해 주면 되겠지요? 전체 길이에서 슬래쉬가 발견된 부분만큼 잘라내 버리면 "응답"수가 될테니까…
(3) 그 다음에는 & 연산자를 사용해서 두 부분을 (1)과 같이 연결해 주면 될 것입니다.
그렇다면 오늘의 하이라이트라고 할 수 있는 "배부/응답"자 수의 합계는 어떻게 구할 수가 있을까요? 힌트를 드리자면… (1)~(3)까지의 과정과 배열수식(Array Formula)을 잘 조합하시면 된다는 것! 정답은… 숙제로 내 드리지요… 라고 하면 가뜩이나 날도 더운데 열 받으시겠지요? ^^
해서 답을 알려드리겠습니다. 그 대신 단 30초 동안만이라도 생각을 해 보신 후 아래로 내려가세요.
위의 빨간색 셀 부분에는 이런 수식이 입력하시면 됩니다.
{=SUM(VALUE(MID(C42:C52,1,(FIND("/",C42:C52)-1)))) & "/" & SUM(VALUE(RIGHT(C42:C52,LEN(C42:C52)-FIND("/",C42:C52))))}
수식이 눈에 확 들어오시는지?
(1)~(3)까지의 과정과 거의 같습니다. 다만 범위를 주고받았다는 것과 수식의 맨 앞과 뒤에 {} 표시가 있는 것으로 보아 배열수식을 사용했다는 것이 다를 뿐이지요.
한 눈에 파악이 되지 않으면 <F2> 키를 눌러 수식 편집모드로 전환한 다음 몇 부분으로 나누어서 살펴 보세요. 이 때 "즉석 계산기능", 즉 <F9>키를 눌러 확인하시면 될 것입니다.
다음 시간에…
정리 — 재미있는 계산방법 하나
| 구분 | 내용 |
|---|---|
| 문제 | 배부/응답 형태(예: 20/15)로 입력된 셀들의 배부 합계와 응답 합계를 구하고 싶음 |
| 슬래시 앞(배부) 추출 | MID(C42,1,FIND("/",C42)-1) |
| 슬래시 뒤(응답) 추출 | RIGHT(C42,LEN(C42)-FIND("/",C42)) |
| 응답율 | =SUM(VALUE(RIGHT(C42,LEN(C42)-FIND("/",C42))))/SUM(VALUE(MID(C42,1,FIND("/",C42)-1))) |
| 합계 (배열수식) | {=SUM(VALUE(MID(C42:C52,1,(FIND("/",C42:C52)-1)))) & "/" & SUM(VALUE(RIGHT(C42:C52,LEN(C42:C52)-FIND("/",C42:C52))))} — 예제 결과 1435/1134 |
| 권장 | 한 셀에는 한 개의 자료만 입력 |
자주 묻는 질문 (FAQ)
Q1. 20/15처럼 슬래시로 구분된 셀들의 합계는 어떻게 구하나요?
FIND 함수로 슬래시 위치를 찾고 MID 함수로 앞부분, RIGHT 함수로 뒷부분을 추출한 뒤 VALUE 함수로 숫자로 바꿔 SUM으로 합산합니다. 범위 전체를 한 번에 계산하려면 배열수식으로 입력하고 두 합계를 문자열 연결 연산자로 슬래시와 이어 붙입니다.
Q2. 응답율은 어떻게 계산하나요?
응답 수의 합계를 배부 수의 합계로 나눕니다. 예제의 강동구는 200 중 185이므로 92.5퍼센트입니다.
Q3. 이런 방식으로 자료를 입력해도 되나요?
가능하지만 권장하지 않습니다. 한 셀에는 한 개의 자료만 넣어야 나중에 계산과 관리가 쉬워집니다. 이미 이런 형태로 만들어진 자료를 다룰 때를 대비한 방법입니다.
마치며
한 셀에는 한 개의 자료만 넣는 것이 원칙이지만, 이미 이렇게 입력된 자료를 만났을 때는 문자열 함수와 배열수식을 조합해 해결할 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.