Boa tarde!
Para retornar a quantidade de vezes, tente inserir a fórmula matricial abaixo na célula O2, e arraste para baixo:
Código: Selecionar todos=SOMA(SE((SE(SEERRO(LOCALIZAR(J2;$C$2:$C$11&$D$2:$D$11&$E$2:$E$11&$F$2:$F$11&$G$2:$G$11&$H$2:$H$11)>0;0);1;0)>0)*(SE(SEERRO(LOCALIZAR(K2;$C$2:$C$11&$D$2:D$11&$E$2:$E$11&$F$2:$F$11&$G$2:$G$11&$H$2:$H$11)>0;0);1;0)>0)*(SE(SEERRO(LOCALIZAR(L2;$C$2:$C$11&$D$2:$D$11&$E$2:$E$11&$F$2:$F$11&$G$2:$G$11&$H$2:$H$11)>0;0);1;0)>0)*(SE(SEERRO(LOCALIZAR(M2;$C$2:$C$11&$D$2:$D$11&$E$2:$E$11&$F$2:$F$11&$G$2:$G$11&$H$2:$H$11)>0;0);1;0)>0);1;0))
Obs.: Só funciona com CTRL + SHIFT + ENTER.
Para retornar quais os dias, não pensei em outra forma que não por VBA (função personalizada); te atende?
[edit] Para adiantar, já fiz via VBA; estou anexando a aplicação.
Fórmula: = RetornaDia(Intervalo_Procura; Intervalo_Critérios; Intervalo_a_retornar)
Código:
Código: Selecionar todosFunction RetornaDia(Intervalo As Range, Critérios As Range, IntervaloRetorno As Range) As String
Dim cellInt As Range, cellCrit As Range
Dim Contador As Long
Dim linha As Long, Coluna As Long, Crit As Long
Dim TotalAcertos As Long
Dim EmBranco As Long
Dim TotalVírgulas As Long
For Crit = 1 To Critérios.Columns.Count
If Critérios.Cells(1, Crit) = "" Then
EmBranco = EmBranco + 1
End If
Next Crit
Set Intervalo = Intersect(Intervalo, ActiveSheet.UsedRange)
Set IntervaloRetorno = Intersect(IntervaloRetorno, ActiveSheet.UsedRange)
For linha = 1 To Intervalo.Rows.Count
For Coluna = 1 To Intervalo.Columns.Count
For Crit = 1 To Critérios.Columns.Count
If Intervalo.Cells(linha, Coluna) = Critérios.Cells(1, Crit) Then
Contador = Contador + 1
Exit For
End If
Next Crit
Next Coluna
If Contador = Critérios.Columns.Count - EmBranco Then
TotalAcertos = TotalAcertos + 1
If TotalAcertos = 1 Then
RetornaDia = IntervaloRetorno.Cells(linha, 1)
Else
RetornaDia = RetornaDia & ", " & IntervaloRetorno.Cells(linha, 1)
End If
End If
Contador = 0
Next linha
'Contar vírgulas
TotalVírgulas = Len(RetornaDia) - Len(Application.WorksheetFunction.Substitute(RetornaDia, ",", ""))
If TotalVírgulas > 0 Then: RetornaDia = Application.WorksheetFunction.Substitute(RetornaDia, ",", " e", TotalVírgulas)
End Function