반응형

엑셀에서 같은 조건을 가진 셀의 개수를 구하는 함수는 SUMIF가 있습니다. 하지만 SUMIF 함수에 조건을 글자색으로 설정할 수는 없습니다.

VBA를 이용하면 글자색이 같은 셀의 값의 합을 구할 수 있는 함수를 만들어 사용이 가능하게 됩니다.  VBA라고 하면 어렵게 다가올 수도 있지만 Ctrl + C 와 Ctrl + V만 할 줄알면 만들 수 있으므로 쉽게 따라 할 수 있습니다.


글자색이 같은 셀 값 합계 함수 만들기 SUMFONTCOLOR

Excel 을 열고 [Alt + F11] 키를 눌러 Visual Basic 편집기 창을 열어 삽입(I) -> 모듈(M)을 차례로 선택하여 모듈(코드) 입력창을 엽니다.

엑셀 excel sumfontcolor.png

코드 입력창에 아래의 내용을 복사해서 붙여 넣기 합니다. 블로그에서 바로 복사가 안되면 아래의 TXT 파일을 다운받아 복사하면 됩니다.

Function SumFontcolor(range_data As Range, criteria As Range) As Double
 Application.Volatile
    Dim datax As Range
    Dim xcolor As Double
xcolor = criteria.Font.ColorIndex
For Each datax In range_data
    If datax.Font.ColorIndex = xcolor Then
        SumFontcolor = SumFontcolor + datax
    End If
Next datax
End Function

Excel_SumFontColor_Code.txt
0.00MB

이제 Visual Basic 편집기를 닫으면 배경색이 같은 셀의 값의 합을 구하는 SumFontColor 함수를 사용할 수 있습니다. 

 

글자색 같은 셀의 값 합계 구하는 함수 사용하기 

사용하는 방법은 일반적인 엑셀에서 사용하는 다른 함수와 같은데 위의 코드에서 보면 첫줄의 Function SumFontcolor에서 함수의 이름을 SumFontColor로 정의해 주었기 때문에 아래와 같이 =Sum 로 검색만 해도 엑셀에서 원래 존재하던 함수처럼 SumFontColor라는 함수가 보이게 됩니다.

엑셀 글자색이 같은 셀 값 합계.png

*이 함수명을 바꾸고 싶다면 코드에서 SumFontColor 3개 모두 원하는 이름으로 바꾸어 사용할 수가 있습니다.

아래와 같이 글자색이 여러개인 셀이 있고 글자색이 같은 셀의 값의 합을 구해야 하는 작업을 해야 한다면

엑셀 sumif 글자색 합계.png

G3셀에 =SumFontColor(B2:D15,G2)와 같이 입력한 뒤에 G2셀에 왼쪽 표에서 원하는 배경색을 [서식 복사]를 이용하여 붙여 넣기 하면 배경색 별로 셀 값의 합을 구할 수 있습니다.

엑셀 글자색 합계 함수 사용법 sumfontcolor.gif

VBA로 생성한 함수를 이 파일에서 계속 사용하고 싶다면 엑셀 파일을 저장할 때 아래와 같이 [파일 형식(T)]에서 Excel 매크로 사용 서식 파일(*.Xltm)로 바꾸어 저장하면 이 파일에서는 항상 SumFontColor 함수를 사용할 수 있게 됩니다.

엑셀 글자색 셀 합계.png

반응형