Página 1 de 1
Encontrar um valor entre duas datas
Enviado: 16 Set 2021 às 15:07
por PedroPereira
Boa tarde senhores(as),
Estou com o seguinte problema, por favor vejam se podem me ajudar
Eu tenho uma base de dados com a informação do código do veículo e que ele estava alocado no centro de custo "X" entre os períodos Coluna - (Data Inicial e Data Final).
Na ABA relatório, eu preciso buscar automaticamente em qual centro de custo estava alocado de acordo com a data da coluna ao lado.
Como posso prosseguir para encontrar uma forma automática para encontrar esses valores, visando que a planilha será redondamente maior do este exemplo.
Re: Encontrar um valor entre duas datas
Enviado: 16 Set 2021 às 21:25
por Jonathaluis
Criei uma fórmula que você coloca o modelo e a data, ela vai buscar na base de dados e retorna o centro de custo
Re: Encontrar um valor entre duas datas
Enviado: 16 Set 2021 às 21:39
por Estevaoba
Fórmula matricial. Cole em B2, confirme com Ctrl+Shift+Enter em vez de apenas Enter (para versão de Excel anterior à 365) e copie para baixo.
Código: Selecionar todos=SEERRO(ÍNDICE('Base de Dados'!$J$2:$J$5;MENOR(SE('Base de Dados'!$B$2:$B$5=A2;SE('Base de Dados'!$F$2:$F$5<=C2;SE('Base de Dados'!$G$2:$G$5>=C2;LIN('Base de Dados'!$F$2:$F$5)-1)));1));"")
Good luck!
Re: Encontrar um valor entre duas datas
Enviado: 17 Set 2021 às 17:15
por PedroPereira
Jonathaluis escreveu: ↑16 Set 2021 às 21:25
Criei uma fórmula que você coloca o modelo e a data, ela vai buscar na base de dados e retorna o centro de custo
Boa tarde
@Jonathaluis ,
Caram, ficou ótimo e funcionou, porém como eu utilizo isto para uma outra base de dados ?
Re: Encontrar um valor entre duas datas
Enviado: 17 Set 2021 às 17:20
por PedroPereira
Estevaoba escreveu: ↑16 Set 2021 às 21:39
Fórmula matricial. Cole em B2, confirme com Ctrl+Shift+Enter em vez de apenas Enter (para versão de Excel anterior à 365) e copie para baixo.
Código: Selecionar todos=SEERRO(ÍNDICE('Base de Dados'!$J$2:$J$5;MENOR(SE('Base de Dados'!$B$2:$B$5=A2;SE('Base de Dados'!$F$2:$F$5<=C2;SE('Base de Dados'!$G$2:$G$5>=C2;LIN('Base de Dados'!$F$2:$F$5)-1)));1));"")
Good luck!
Boa tarde
@Estevaoba , agradeço muito, porém a fórmula não funcionou, em nenhum dos casos ela puxou o valor correto :/
Re: Encontrar um valor entre duas datas
Enviado: 17 Set 2021 às 18:11
por Jonathaluis
Pedro,
Esse é o código que criei, o empecilho é que a aba que será feita a busca deve se chamar "Base de Dados" e as colunas usei como base as posições das colunas atuais, mas vou verificar outra forma de buscar e te aviso.
Esse código está na plailha alt+f11 na pasta módulo
Public Function CENTROCUSTO(modelo As String, data As String)
Dim ultLinha As Integer
'Verifica a ultima linha da planilha Base de Dados
ultLinha = Sheets("Base de Dados").Cells(1, 1).End(xlDown).Row
'Efetua a linha de cada um
For linha = 2 To ultLinha
' Verifica a linha pelo modelo e compara a data de inicio e fim, quando achar ele retorna o Centro de custo
If Sheets("Base de Dados").Cells(linha, 2) = modelo And _
CDate(Sheets("Base de Dados").Cells(linha, 6)) <= CDate(data) And _
CDate(Sheets("Base de Dados").Cells(linha, 7)) >= CDate(data) Then
CENTROCUSTO = Sheets("Base de Dados").Cells(linha, 10)
Exit Function
End If
Next
'se não achou retorna a mensagem abaixo
CENTROCUSTO = "Centro de custo não encontrado"
End Function
Re: Encontrar um valor entre duas datas
Enviado: 17 Set 2021 às 18:26
por Jonathaluis
Pedro, eu apliquei a fórmula que o Estevao passou e funcionou, segue a planilha
Re: Encontrar um valor entre duas datas
Enviado: 17 Set 2021 às 22:33
por Estevaoba
Obrigado, Jonatha. Imagino que a fórmula não foi confirmada corretamente com Ctrl+Shift+Enter.
No Excel 365 isso não é mais necessário, inclusive poderia ser esta outra fórmula:
Código: Selecionar todos=SEERRO(FILTRO('Base de Dados'!$J$2:$J$5;('Base de Dados'!$B$2:$B$5=A2)*('Base de Dados'!$F$2:$F$5<=C2)*('Base de Dados'!$G$2:$G$5>=C2));"")
Ab.