色付きセルの数をカウントしようとしています(別の条件も満たしています)。次のようにSUMPRODUCTを使用して色付きセルを確認する
マイ細胞である:
私の意図は、「B」、どこ隣接するセルの色が緑である細胞をカウントすることです。次のように
私はまた、関数を書く:
Function CheckColor(rng As Range) As Boolean
If rng.Interior.ColorIndex = 43 Then
CheckColor = True
Else
CheckColor = False
End If
End Function
次のように私は、その後SUMPRODUCT
機能を使用します。
=SUMPRODUCT(--(V40:V50="B");--CheckColor(W40:W50))
はしかし、私はエラーに#VALUE!
UPDATE
を取得します次のように私は私の式を変更した:
Function CheckColor(rng As Range) As Variant
Dim arr As Variant
Dim n As Integer
ReDim arr(0 To rng.Count - 1) As Variant
n = 0
For Each cell In rng
If cell.Interior.ColorIndex <> 43 Then
bl = False
Else
bl = True
End If
arr(n) = bl
n = n + 1
Next cell
CheckColor = arr
End Function
を、次のように私は式を使用します。私が手
=SUMPRODUCT((V40:V50="B")*CheckColor(W40:W50))
答えが間違っている、6です。
は、なぜあなたは代わりに '' SUMPRODUCT'のCOUNTIF'を使用していけませんか? – NatNgs
私はグーグルで、SUMPRODUCTが関数をより良く受け入れることができるところを読んでいます –
あなたの関数が一意の値として 'CheckColor(W40:W50)'を計算していると思いますので、 '= SUMPRODUCT( - (V40:V50) = "B"); 0) 'これは異なるサイズのパラメータのために'#Value'をスローします。あなたはステップ式の計算を試みる能力を持っていますか? – NatNgs