Abra o Editor do VBA e escolha Módulo no menu Inserir. Cole o seguinte no campo de texto resultante:
Function DEPTAPPCOUNT(Dept As String, Range As Range, CountRange As Range) As Integer
Dim count As Integer
For Each rCell In Range
If rCell.Text = Dept Then
If rCell.Offset(0, 1).Text <> "" Then count = count + 1
End If
Next
DEPTAPPCOUNT = count
End Function
Pressione o botão Salvar na barra de ferramentas e feche o Editor do VBA para retornar à sua planilha. Agora você pode usar a função DEPTAPPCOUNT
como as funções intrínsecas do Excel. Se a coluna do departamento se estender de A2 a A7 (e as datas de avaliação estiverem em B2 a B7 - a coluna contada deve estar imediatamente à direita da coluna de departamento para essa função funcionar), insira =DEPTAPPCOUNT("Sales", A2:A7, B2:B7)
para obter o número de vendas entradas com datas de avaliação não em branco. Ajuste o primeiro parâmetro (o Sales
text) conforme desejado para contar em outros departamentos.
Se você estiver no Excel 2007 ou mais recente, precisará salvar a planilha no formato XLSM
(habilitado para macro).
Para aqueles que estão se perguntando por que CountRange
deve ser passado para a função personalizada mesmo que não seja usado, é necessário que o Excel recalcule a contagem se a coluna de data for alterada. Em outras palavras, passar o intervalo extra para a função cria uma dependência nos cálculos do Excel.