Fórmula do Excel: Obter o próximo evento agendado -

Índice

Fórmula genérica

(=MIN(IF((range>=TODAY()),range)))

Resumo

Para obter o próximo evento agendado de uma lista de eventos com datas, você pode usar uma fórmula de matriz baseada nas funções MIN e TODAY para encontrar a próxima data e INDEX e MATCH para exibir o evento nessa data. No exemplo mostrado, a fórmula em G6 é:

(=MIN(IF((date>=TODAY()),date)))

Onde "data" é o intervalo nomeado D5: D14.

Observação: esta é uma fórmula de matriz e deve ser inserida com Control + Shift + Enter.

Explicação

A primeira parte da solução usa as funções MIN e TODAY para encontrar a "próxima data" com base na data de hoje. Isso é feito filtrando as datas por meio da função IF:

IF((date>=TODAY()),date)

O teste lógico gera uma matriz de valores TRUE / FALSE, onde TRUE corresponde a datas maiores ou iguais a hoje:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Quando um resultado é TRUE, a data é passada para a matriz retornada por IF. Quando um resultado é FALSE, a data é substituída pelo booleano FALSE. A função IF retorna a seguinte matriz para MIN:

(FALSE;FALSE;FALSE;43371;43385;43399;43413;43427;43441;43455)

A função MIN então ignora os valores FALSE e retorna o menor valor de data (43371), que é a data 28 de setembro de 2018 no sistema de datas do Excel.

Obtendo o nome do filme

Para exibir o filme associado à "próxima data" ", usamos INDEX e MATCH:

=INDEX(movie,MATCH(G6,date,0))

Dentro de INDEX, MATCH encontra a posição da data em G6 na lista de datas. Esta posição, 4 no exemplo, é retornada para INDEX como um número de linha:

=INDEX(movie,4)

e INDEX retorna o filme naquela posição, "O Cavaleiro das Trevas".

Tudo em uma fórmula

Para retornar o próximo filme em uma única fórmula, você pode usar esta fórmula de matriz:

(=INDEX(movie,MATCH(MIN(IF((date>=TODAY()),date)),date,0)))

Com MINIFS

Se você tiver uma versão mais recente do Excel, poderá usar a função MINIFS em vez da fórmula de matriz em G6:

=MINIFS(date,date,">="&TODAY())

MINIFS foi introduzido no Excel 2016 via Office 365.

Tratamento de erros

A fórmula nesta página funcionará mesmo quando os eventos não forem classificados por data. No entanto, se não houver datas futuras, a função MIN retornará zero em vez de um erro. Isso será exibido como a data "0-Jan-00" em G6, e a fórmula INDEX e MATCH gerará um erro # N / A, já que não há zero-ésima linha para obter um valor. Para detectar esse erro, você pode substituir MIN pela função SMALL e, em seguida, envolver toda a fórmula em IFERROR assim:

=(IFERROR(SMALL(IF((date>=TODAY()),date),1),"None found"))

Ao contrário de MIN, a função SMALL lançará um erro quando um valor não for encontrado, então IFERROR pode ser usado para gerenciar o erro.

Artigos interessantes...