- 최초 작성일: 2002-03-15
- 최종 수정일: 2026-09-29
- 조회수: 43 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 색상별 합계 구하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
질문 하나
합계를 내는 중에 종류가 다른 것을 분류하여 옆셀에 합계를 내야하는데, 따로 합계내는 데이터를 색깔을 다른색을 지정하여 합계를 내고 싶어요. 매크로를 쓰면 가능하다고 하는데, 매크로를 사용하는 방법과 수식이 필요하다면 적어주시면 감사하겠습니다.
색상별 합계 구하기
핵심 요약
- Excel4Macro의 GET.CELL 함수로 셀의 배경색·글자색 같은 서식 정보를 숫자로 가져올 수 있습니다.
- GET.CELL을 이름으로 정의한 뒤 보조 셀에서 색상 번호를 얻고 SUMIF와 결합하면 색상별 합계를 계산할 수 있습니다.
- GET.CELL의 인수 값을 바꾸면 색상뿐 아니라 글꼴 등 다른 셀 서식 정보도 활용할 수 있습니다.
이것은 VBA를 사용하면 아래와 같이 간단히 해결됩니다. 버튼을 클릭한 다음 적당한 색상을 선택해 보세요.
그런데 이것은 지난 VB0097 강좌에서 소개해 드린 내용입니다. 더군다나 이번 강좌 제목이 X0… 인 것으로 보아 분명이 엑셀 강좌이지요? 해서 VBA로 코딩을 하지 않고 워크시트 상에서 해결할 수 있는 방법에 대해 살펴보도록 하겠습니다.
마침 Q&A에 좋은 답글을 많이 올려 주시는 내가낸데님이 Excel4Macro를 사용한 방법 한 가지를 소개해 주셨네요.
안녕하세요. GET.CELL 이란 매크로 함수를 이용하여 색깔번호를 도출하고 이를 이용하여 SUMIF로 하시면 될 듯.... 매크로함수는 워크시트에서 그냥 사용할 수는 없습니다. 이름정의를 이용하셔야 이용 가능합니다.
색깔번호 도출하는 과정만 간략히 소개하면, 1. a1셀에 색깔을 채워보세요. 아무색이나... 2. 메뉴>삽입>이름>정의 에서 이름란에 "색깔번호", 참조에 = GET.CELL(38,sheet1!$a$1) 하시고 확인 3. 옆의 아무셀에나 =색깔번호 하시면 a1셀의 색깔번호가 나옵니다. 참조의 절대셀,상대셀을 적절히 활용하시고 sumif로 마무리 하시면 원하시는 결과를 얻을 듯....
참고로 GET.CELL의 첫번째 인수는 66가지 입니다. 각종 셀정보를 반환하죠.. 위 참조를 GET.CELL(ROW(),sheet1!$a1) 바꾸시고 a1에 아무값, 셀색깔, 폰트색깔 등등 하시고 b1에 =색깔번호 하시고 b66까지 채워넣기 해보시길... 그럼 이만.
여기서 글자 색상별로 합계를 구하시려면 위의 두번째 단계에서 38대신 24를 써 주시면 됩니다.
=GET.CELL(24,Preface!$B62)
실제 활용 화면에서는 A열에 임의의 숫자, B열에 그 숫자가 입력된 셀의 글자색 번호(=색깔번호)를 나란히 두고, 합계를 구할 색 번호를 지정한 뒤 SUMIF로 해당 색상의 값만 더하는 방식입니다. 아래는 이해를 돕기 위한 대표적인 예시 몇 줄입니다(실제로는 더 많은 행에 같은 방식으로 채워 사용합니다).
| =INT(RAND()*1000) | =글자색 | ||
| =INT(RAND()*1000) | =글자색 | ||
| =INT(RAND()*1000) | =글자색 | ||
| =INT(RAND()*1000) | =글자색 | 3 | ←합계를 구할 색 번호를 입력하세요! |
| =INT(RAND()*1000) | =글자색 | =SUMIF(C70:C85,색번호,B70:B85) |
(실제 예제에는 위와 같은 형태의 데이터가 16행에 걸쳐 채워져 있습니다. 여기서는 이해를 돕기 위해 대표적인 몇 줄만 예시로 실었습니다.)
뿐만 아니라 글꼴 이름별로도 합계를 구할 수가 있습니다. 그다지 실용적인 방법은 아니란 생각이 들긴 합니다만…
=GET.CELL(18,Preface!$B62)
이렇게 하시면 되겠습니다. Have a Nice Weekend!!!
정리 — GET.CELL과 SUMIF로 색상별 합계 구하기
| GET.CELL 인수 | 반환하는 정보 |
|---|---|
| 38 | 셀 배경색 번호 |
| 24 | 셀 글자색 번호 |
| 18 | 글꼴 이름 |
| 사용 방법 | 이름 정의에 GET.CELL 수식 등록 → 보조 셀에서 이름 호출 → SUMIF 조건으로 사용 |
자주 묻는 질문 (FAQ)
Q1. 셀 색상을 워크시트 함수만으로 합계 조건으로 쓸 수 있나요?
직접 쓸 수는 없지만, Excel4Macro의 GET.CELL 함수를 이름으로 정의해 두면 워크시트에서 간접적으로 셀의 색상 번호를 얻을 수 있고, 이 값을 SUMIF의 조건으로 활용해 색상별 합계를 구할 수 있습니다.
Q2. GET.CELL 함수는 왜 셀에 바로 입력해서 쓸 수 없나요?
GET.CELL은 Excel4Macro 함수로, 일반 워크시트 셀에 직접 입력할 수 없습니다. 반드시 '이름 정의' 기능을 통해 이름에 GET.CELL 수식을 등록한 뒤, 그 이름을 셀에서 불러다 쓰는 방식으로 사용해야 합니다.
Q3. 배경색이 아니라 글자색이나 글꼴로 합계를 구할 수도 있나요?
네. GET.CELL의 첫 번째 인수를 바꾸면 됩니다. 배경색은 인수 38, 글자색은 인수 24, 글꼴 이름은 인수 18을 사용하면 됩니다. 이렇게 얻은 값을 SUMIF의 조건으로 넣으면 원하는 서식 기준으로 합계를 구할 수 있습니다.
마치며
GET.CELL은 다소 낯선 Excel4Macro 함수이지만, 이름 정의라는 우회로를 통해 워크시트 위에서도 셀 서식 정보를 활용할 수 있게 해 줍니다. 다음 강좌에서는 이 원리를 색상별 필터링에도 그대로 응용해 보겠습니다.