본문 바로가기

엑셀(Excel)/사용자 정의 함수

엑셀 색깔별 평균 구하기(ColorAverage 함수)

반응형

 

추가기능 다운로드

ColorAverage.zip
0.01MB

 

추가기능 활성화 방법

설명

  • 주어진 조건에 의해 지정된 셀들의 색깔별 평균을 구합니다.
  • ColorAverage 함수는 엑셀에서 기본으로 제공하는 함수가 아닌 사용자 정의 함수로서 추가기능 파일을 다운받고 엑셀에서 추가기능 활성화 후 사용하시기 바랍니다.

구문

  • =ColorAverage(averageRange, colorRange, [colorType])

인수

  • averageRange(필수) : 조건에 맞는지 검사할 셀 및 평균을 구할 셀들입니다.
  • colorRange(필수) : 평균을 구할 셀의 조건을 지정하는 셀입니다.
  • colorType(선택) : 평균을 구할 셀의 색깔 종류 입니다. 글자색을 기준으로 평균을 구하려면 TRUE를, 채우기색을 기준으로 평균을 구하려면 FALSE(또는 생략)을 지정합니다.

주의

  • Mac OS에서는 동작하지 않을 수 있습니다.

예제1

  • 채우기색이 빨간색인 것들의 평균을 구합니다.

예제2

  • 채우기색이 하늘색인 것들의 평균을 구합니다.
  • 채우기색 기준으로 평균을 구할때는 colorType 인수를 생략할 수 있습니다.

예제3

  • 글자색이 빨간색인 것들의 평균을 구합니다.

예제4

  • 글자색이 파란색인 것들의 평균을 구합니다.

VBA Code

더보기
 

[VBA] ColorAverage

Basic 파일 다운로드 함수 사용방법 바로가기 VBA Code Function ColorAverage(AverageRange As range, colorRange As range, Optional colorType As Boolean = False) As Double Application.Volatile True On E..

xlmaster.tistory.com

Function ColorAverage(AverageRange As range, colorRange As range, Optional colorType As Boolean = False) As Double
    Application.Volatile True
    On Error Resume Next
    Dim rng As range, result As Double, cnt As Long
    If colorType Then
        For Each rng In AverageRange
            If rng.Font.ColorIndex = colorRange.Font.ColorIndex Then result = result + rng.Value: cnt = cnt + 1
        Next rng
    Else
        For Each rng In AverageRange
            If rng.Interior.ColorIndex = colorRange.Interior.ColorIndex Then result = result + rng.Value: cnt = cnt + 1
        Next rng
    End If
    ColorAverage = result / cnt
End Function

 

유사함수

기타

  • 이용에 불편한 점이나 건의하실 것 있으면 알려주시기 바랍니다.
  • E-mail : devlunar@naver.com
반응형