• 최초 작성일: 2002-03-15
  • 최종 수정일: 2026-09-29
  • 조회수: 43 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 색상별 합계 구하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

질문 하나

합계를 내는 중에 종류가 다른 것을 분류하여 옆셀에 합계를 내야하는데, 따로 합계내는 데이터를 색깔을 다른색을 지정하여 합계를 내고 싶어요. 매크로를 쓰면 가능하다고 하는데, 매크로를 사용하는 방법과 수식이 필요하다면 적어주시면 감사하겠습니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

색상별 합계 구하기

핵심 요약

  • Excel4Macro의 GET.CELL 함수로 셀의 배경색·글자색 같은 서식 정보를 숫자로 가져올 수 있습니다.
  • GET.CELL을 이름으로 정의한 뒤 보조 셀에서 색상 번호를 얻고 SUMIF와 결합하면 색상별 합계를 계산할 수 있습니다.
  • GET.CELL의 인수 값을 바꾸면 색상뿐 아니라 글꼴 등 다른 셀 서식 정보도 활용할 수 있습니다.

이것은 VBA를 사용하면 아래와 같이 간단히 해결됩니다. 버튼을 클릭한 다음 적당한 색상을 선택해 보세요.

색상별 합계 구하기 예제 화면 1
아이엑셀러

그런데 이것은 지난 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 함수이지만, 이름 정의라는 우회로를 통해 워크시트 위에서도 셀 서식 정보를 활용할 수 있게 해 줍니다. 다음 강좌에서는 이 원리를 색상별 필터링에도 그대로 응용해 보겠습니다.