Fórmula que identifique um período e traga outro dado


#1

Amigos, bom dia! Preciso da ajuda de vocês com uma fórmula, sou nova por aqui, já tentei de varias maneiras, mas sem chance de fazer dar certo.

É o seguinte: estou trabalhando com uma base de dados bem extensa aqui na empresa, no qual o objetivo final é conseguir finalizar um dashboard onde eu consiga expor a produtividade dos analistas com relação aos processos que foram atendidos por eles.

Ocorre que, hoje tenho uma planilha com uma aba “base” e uma aba de “analistas”. Na aba de “analistas” tenho campos que definem o tipo de processo tratado pelo analista e o período, e é aqui que mora meu problema: preciso de uma fórmula que identifique o tipo de processo tratado pelo analista nada data em que um processo foi cadastrado (informação na aba "base) e me traga essa informação do tipo.

Hoje por questões de gestão, os analistas podem trocar de atividade durante o ano, em alguns casos, e preciso que isso seja identificado justamente para que não haja confusão no dashboard sobre o tipo, prazos, metas, por conta das datas e tipo.

Por conter informações sigilosas da empresa não posso compartilhar a minha planilha real, mas simulei uma situação neste link: https://drive.google.com/file/d/0B-Xgf4Kl755PcmotQmZFVXdkSG5SOVZaNnZHdHR6dk5hMFN3/view?usp=drivesdk

Será que conseguem me ajudar, não sei se fui muito clara da minha necessidade, mas eu respondo qualquer questionamento que tiverem.

Agradeço antecipadamente :heart:


#2

Olá, @karen.

Criei esta função personalizada para realizar o procedimento:

Public Function TIPOPROCESSO(ByVal Analista As String, ByVal Data As Date) As String

    Dim Linha As Long
    Dim Planilha As Worksheet
    Set Planilha = ThisWorkbook.Sheets("ANALISTAS")
    
    For Linha = 2 To Planilha.Cells(1, 1).End(xlDown).Row
        
        If Planilha.Cells(Linha, 1).Value2 = Analista Then
        
            Dim Coluna As Long
            
            For Coluna = 3 To Planilha.Cells(1, 1).End(xlToRight).Column Step 3
            
                If Planilha.Cells(Linha, Coluna).Value2 <= Data And (Planilha.Cells(Linha, Coluna + 1).Value2 >= Data Or Planilha.Cells(Linha, Coluna + 1).Value2 = vbNullString) Then
                    
                    TIPOPROCESSO = Planilha.Cells(Linha, Coluna - 1).Value2
                    Exit Function
                
                End If
            
            Next Coluna
        
        End If
    
    Next Linha

End Function

#3

Boa tarde! Segue minha contribuição:

cole essa fórmula na célula D2 da planilha BASE e arraste para baixo…

=SE(NÃO(ÉNÚM(INDIRETO("ANALISTAS!" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);CORRESP(B2;INDIRETO("ANALISTAS!" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);2;1;1) & ":" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);10;1;1);1);1);1;1))));INDIRETO("ANALISTAS!" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);CORRESP(B2;INDIRETO("ANALISTAS!" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);2;1;1) & ":" & ENDEREÇO(CORRESP(C2;ANALISTAS!$A$1:$A$5;0);10;1;1);1);1);1;1));"Nenhum intervalo")


#4

MUITO OBRIGADA!!! Consegui aplicar a formula na minha planilha original! Salvou minha vida.

Valeu!