PROCV retornando o próximo resultado (valor seguinte)
Enviado: 28 Mar 2017 às 14:31
Estou precisando preencher a tabela de pesquisa para recuperar o resultado posterior (coluna em amarelo) a partir do código do cliente, exame e uma data de consulta (linhas 14 a 21). Se a data da consulta coincidir com a data do exame na tabela de dados, ambos os resultados anterior e posterior deverão ser preenchidos com o resultado encontrado. Caso não coincida, devo tentar obter o resultado do exame imediatamente anterior e posterior em relação a data da consulta (Obs: só posso trazer os resultados se a data da consulta for no mesmo dia do exame sem considerar as horas e minutos).
Ex1: na linha 14 para o paciente 10, exame "Hemacias" e data "01/01/2016 10:00:00" temos um exame anterior (as 09:20) e outro posterior (as 11:30) na tabela de dados, logo a planilha deve exibir o valor de 3,17 e 3,52.
Ex2: na linha 15 para o paciente 10, exame "Hemacias" e data "01/01/2016 12:00:00" só temos o exame anterior (as 11:30). O próximo exame (02/01/2016 10:30:00) é referente a outro dia diferente da data solicitada na pesquisa, logo não deverei preencher ou informar #N/D (não encontrado).
Ex3: na linha 18 para o paciente 10, exame "Hemoglobina" e data "01/01/2016 18:00:00" não temos nenhum exame para este dia, só temos no dia seguinte (02/01/2016). Neste caso tenho que exibir #N/D para ambos os resultados.
Eu consegui utilizar a fórmula matricial {=PROCV(C14;SE($A$3:$A$10=A14&TEXTO(C14;"dd/mm/aaaa")&B14;$C$3:$E$10);3;VERDADEIRO)} para trazer o resultado anterior conforme as regras que informei anteriormente. O meu problema é com relação a próxima coluna que deve trazer o resultado posterior (coluna em amarelo). Pesquisei na internet e só encontrei formas de obter o menor (primeiro), maior (último) registro do dia ou o mais próximo independente se ele for maior ou menor do que o solicitado. É possível utilizar alguma fórmula para trazer os resultados ? Ou serei obrigado a utilizar VBA ? Estou tentando utilizar fórmula pois a tabela original de dados possui mais de 100 mil linhas. Agradeço caso alguém tenha alguma sugestão (eu posso modificar a chave e ordenação das colunas). Obrigado.

Ex1: na linha 14 para o paciente 10, exame "Hemacias" e data "01/01/2016 10:00:00" temos um exame anterior (as 09:20) e outro posterior (as 11:30) na tabela de dados, logo a planilha deve exibir o valor de 3,17 e 3,52.
Ex2: na linha 15 para o paciente 10, exame "Hemacias" e data "01/01/2016 12:00:00" só temos o exame anterior (as 11:30). O próximo exame (02/01/2016 10:30:00) é referente a outro dia diferente da data solicitada na pesquisa, logo não deverei preencher ou informar #N/D (não encontrado).
Ex3: na linha 18 para o paciente 10, exame "Hemoglobina" e data "01/01/2016 18:00:00" não temos nenhum exame para este dia, só temos no dia seguinte (02/01/2016). Neste caso tenho que exibir #N/D para ambos os resultados.
Eu consegui utilizar a fórmula matricial {=PROCV(C14;SE($A$3:$A$10=A14&TEXTO(C14;"dd/mm/aaaa")&B14;$C$3:$E$10);3;VERDADEIRO)} para trazer o resultado anterior conforme as regras que informei anteriormente. O meu problema é com relação a próxima coluna que deve trazer o resultado posterior (coluna em amarelo). Pesquisei na internet e só encontrei formas de obter o menor (primeiro), maior (último) registro do dia ou o mais próximo independente se ele for maior ou menor do que o solicitado. É possível utilizar alguma fórmula para trazer os resultados ? Ou serei obrigado a utilizar VBA ? Estou tentando utilizar fórmula pois a tabela original de dados possui mais de 100 mil linhas. Agradeço caso alguém tenha alguma sugestão (eu posso modificar a chave e ordenação das colunas). Obrigado.
