본문 바로가기
알쓸신잡 꿀팁

엑셀에서 특정 색의 셀 합계를 구하는 수식(간단한 VBA매크로 사용)

by 푸른새벽105 2024. 6. 12.
반응형
엑셀에서 특정 색의 셀 합계를 구하는 수식

(쉬운 VBA매크로 사용)

 

 

요즘 엑셀관련 궁금한 건 챗gpt에 물어보는 중, 

수식까지 다 알려주니 복사 -> 붙여넣기만 하면 돼서 매우 편리하다. 

 

 

"엑셀에서 특정 색의 셀 합계를 구하는 수식을 알려줘" 라고 물어 봄.

===============================================================================

-엑셀에서 특정 색상의 셀의 합계를 구하려면, 기본적으로 수식만으로는 불가능하고,

-대신 VBA(Visual Basic for Applications) 매크로를 사용하여 작업을 수행할 수 있다.

-아래는 특정 색상의 셀의 합계를 계산하는 VBA 코드를 작성하는 방법이다.

 

  1. 엑셀에서 ALT + F11을 눌러 VBA 편집기를 연다.
  2. 삽입 메뉴에서 모듈을 선택합니다.
  3. 아래의 코드를 새 모듈에 붙여넣는다.

 
Function SumByColor(CellColor As Range, SumRange As Range) As Double
    Dim c As Range
    Dim cell As Range
    Dim colorIndex As Integer
    Dim total As Double
    
    colorIndex = CellColor.Interior.ColorIndex
    total = 0
    
    For Each cell In SumRange
        If cell.Interior.ColorIndex = colorIndex Then
            total = total + cell.Value
        End If
    Next cell
    
    SumByColor = total
End Function
 
 
   4. VBA 편집기를 닫고 엑셀로 돌아옵니다.
 
   5. 엑셀에서 사용자 정의 함수를 사용할 수 있습니다.
       
       - 예를 들어, 특정 색상을 가진 셀의 색상을 기준으로 합계를 구하려는 경우,
         색상을 참조할 셀 하나와 합계를 구할 범위를 정한다.
       - 셀에 =SumByColor(참조셀, 합계를 구할 범위) 형식으로 입력합니다.

 

 

   예: 1월부터 4월까지 투입인력의 합계(남색 셀의 합계)를 구하고자 할 때...

  • 특정 색상을 가진 셀이 B7이고, 합계를 구할 범위가 F7에서 Q7이라면,
  • 셀에 =SumByColor(F7, F7:Q7)을 입력한다.

 

 

이렇게 하면 B7과 같은 색상의 범위의 셀 값을 합산하여 결과를 반환한다. 

728x90
반응형