참조 셀과 같은 색을 가진 범위의 셀 수를 계산하려고합니다. 다른 범위의 해당 셀에 올바른 값 기준이있는 경우 . 예를 들어Excel VBA : CountIf (값 기준) AND (색상 기준)
경우 (A1 < 350) 및 (B1이 기준 셀과 동일한 색상을 갖는), 다음 행 위에 1 루프 카운트 1~15
에 질문과 같은 문제가 본질적 여기에 게시 :
http://www.mrexcel.com/forum/excel-questions/58582-countif-multiple-criteria-one-being-interior-color.html
불행히도, ExtCell.zip 파일이 더 이상 종료되지 않는 것 같습니다. 따라서 주어진 솔루션을 단순히 복제 할 수는 없습니다. 나는 SUMPRODUCT
함수를 사용하여 동일한 접근법을 따르려고했지만 셀 색상을 비교하는 함수를 작성했지만 작동하지 않았습니다. "수식에 사용 된 값이 잘못된 데이터 유형입니다."라는 오류가 나타납니다. 내 코드는 다음과 같습니다. Windows 7에서 Excel 2007을 사용하고 있습니다. 도움을 주시면 감사하겠습니다. 감사!
=SUMPRODUCT((B57:B65<350) * (ColorCompare(D307,D57:D65)))
위의 수식은 셀에 입력됩니다. B57:B65
에는 숫자 값이 포함되어 있으며, D57:D65
은 색이 지정된 셀입니다. D307
은 올바른 색상의 참조 셀입니다.
'' VBA function ColorCompare
Function ColorCompare(refCell As Range, compareCells As Range) As Variant
Dim rCell As Range
Dim TFresponses() As Boolean 'the boolean array to be returned to SUMPRODUCT
Dim CallerCols As Long 'find out the number of cells input by the user
'so as to define the correct array size
With Application.Caller
CallerCols = .Column.Count
End With
ReDim TFresponses(1 To CallerCols)
Dim Idx As Long
Idx = 1
For Each rCell In compareCells
If rCell.Interior.ColorIndex = refCell.Interior.ColorIndex Then
TFresponses(Idx) = 1
Idx = Idx + 1
Else
TFresponses(Idx) = 0
Idx = Idx + 1
End If
Next rCell
ColorCompare = TFresponses
End Function
업데이트 해 주셔서 감사합니다. – Keepang