Você conhece o truque bacana de criar uma referência a um título de coluna na última célula não vazia de uma linha? O melhor: você não precisa de linhas ou colunas auxiliares. É tão fácil:
Combine as quatro funções IFERROR (), INDEX (), MAX () e IF ()
O diretor de vendas enviar-lhe-á uma lista dos contratos celebrados por mês para produtos em extinção ①. Você deve usar uma fórmula na coluna N para especificar o último mês de vendas de cada produto - sem linhas ou colunas auxiliares. Se não houver mais contratos celebrados, insira uma célula vazia na coluna N.
Esse exemplo, à primeira vista banal, acaba sendo um osso duro de roer sem o uso de linhas ou colunas auxiliares. Como Excel para praticar-Readers quebram a noz! Temos a seguinte fórmula de matriz na célula para a resolução de problemas N2 criado ②:
{= IFERROR (INDEX ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 ""; COLUMN (B2: M2) -1; -1))); "")}
Veja como funciona passo a passo
Comece com a condição IF () incorporada na fórmula de matriz: {= IFERROR (INDEX ($ B $ 1: $ M $ 1; MAX (SE (B2: M2 "", COLUNA (B2: M2) -1, -1)));"")}
A condição IF () cria uma linha auxiliar fictícia na fórmula da matriz e verifica as células B2 até M2se estes estão vazios ou não. Se uma célula estiver vazia, o valor -1 é retornado de outra forma por meio da função COLUMN (), o respectivo número da coluna menos o valor 1.
A subtração de 1 é necessária na fórmula porque a primeira coluna da tabela não contém o nome do mês, mas o nome do produto. Abaixo você aprenderá como usar a função INDEX () para exibir o nome do mês correspondente, que - se você não subtrair o 1 - por causa da coluna adicional usada UMA. seria incorreto por exatamente uma coluna.
Se todas as células do intervalo B2: M2 estão vazios, o valor -1 (nenhuma venda de produto) cria um erro que usamos para representar uma célula vazia. A linha auxiliar ativa pode ser vista na Fig. ③ na linha 3.
Na próxima etapa, você lê o maior valor com a função MAX (), na qual a condição IF () está aninhada. Este é o valor 12 na linha 3 (coluna 13 menos 1; consulte a linha auxiliar na Figura ③):
{= IFERROR (ÍNDICE ($ B $ 1: $ M $ 1;MÁX. (SE (B2: M2 "", COLUNA (B2: M2) -1, -1)));"")}
Você passa este valor MAX para a função INDEX (). O mês do calendário correspondente é lido na linha 1. A área de dados da função INDEX () é a área $ B $ 1: $ M $ 1. O valor MAX passado - no exemplo 12 - significa que o décimo segundo valor na lista, ou seja, Dez para o mês de dezembro:
{= IFERROR(ÍNDICE ($ B $ 1: $ M $ 1; MAX (SE (B2: M2 ""; COLUNA (B2: M2) -1; -1)));"")}
Se todas as células no intervalo de meses da tabela estiverem vazias, o maior valor será -1 (consulte a condição IF () no início). Se o valor -1 for passado para a função INDEX (), isso inevitavelmente levará a um valor de erro, uma vez que a área da lista da função INDEX () contém apenas doze entradas e, portanto, não pode encontrar a entrada -1. Você captura esse valor de erro com a função IFERROR () e, em vez disso, retorna uma string vazia. No exemplo, este é o caso do produto C na linha 4, porque nenhum contrato mais pôde ser concluído para este produto:
{=IFERROR(ÍNDICE ($ B $ 1: $ M $ 1; MAX (SE (B2: M2 "", COLUNA (B2: M2) -1, -1)));"")}
Como esta é uma fórmula de matriz, complete a entrada da fórmula com a combinação de teclas Ctrl + Shift + Enter.