Diretrizes e exemplos de fórmulas de matriz
Applies ToExcel para Microsoft 365 Excel para Microsoft 365 para Mac Excel 2024 Excel 2024 para Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Excel para iPad Excel para iPhone

Uma fórmula de matriz é aquela capaz de executar vários cálculos em um ou mais itens de uma matriz. Você pode considerar uma matriz como uma linha ou coluna de valores ou uma combinação de linhas e colunas de valores. As fórmulas de matriz podem retornar vários resultados ou um único resultado.

A partir da atualização de setembro de 2018 do Microsoft 365, qualquer fórmula que possa retornar vários resultados os despejará automaticamente para células vizinhas laterais ou abaixo. Essa alteração de comportamento também é acompanhada por várias novas funções de matriz dinâmica. Fórmulas de matriz dinâmica, se elas estão usando funções existentes ou funções de matriz dinâmica, só precisam ser entradas em uma única célula e confirmar pressionando Enter. Anteriormente, as fórmulas de matriz herdada exigem primeiro que você selecione todo o intervalo de saída e confirme a fórmula com Ctrl+Shift+Enter. Elas são normalmente chamadas de fórmulas CSE.

Você pode usar fórmulas de matriz para executar tarefas complexas, como:

  • Criar conjuntos de dados de exemplo rapidamente.

  • Contar o número de caracteres contidos em um intervalo de células.

  • Somar apenas números que atendam a certas condições, como os valores mais baixos de um intervalo ou números que estejam entre um limite superior e inferior.

  • Somar todo valor N em um intervalo de valores.

Os exemplos a seguir mostram como criar fórmulas de matriz com várias células e com uma célula. Sempre que possível, incluímos exemplos com algumas das funções de matriz dinâmicas, bem como fórmulas de matriz existentes inseridas como matrizes dinâmicas e herdada.

Baixar nossos exemplos

Baixe uma pasta de trabalho de exemplo com todos os exemplos de fórmula de matriz neste artigo.

Este exercício mostra como usar fórmulas de matriz de várias células e de uma célula para calcular um conjunto de estatísticas de vendas. O primeiro conjunto de etapas usa uma fórmula de várias células para calcular um conjunto de subtotais. O segundo conjunto usa uma fórmula de uma célula para calcular um total geral.

  • Fórmula de matriz de várias células

    Função de matriz com várias células na célula H10 =F10:F19*G10:G19 para calcular o número de carros vendidos pelo preço unitário

  • Aqui estamos calculando o Total de Vendas de coupes e sedans para cada vendedor inserindo =F10:F19*G10:G19 na célula H10.

    Ao pressionar Enter, você verá os resultados despejados para as células H10:H19. Observe que o intervalo de despejo é realçado com uma borda quando você seleciona qualquer célula dentro do intervalo. Você também pode notar que as fórmulas nas células H10:H19 estão acinzentadas. Elas estão apenas ali para referência, portanto, se você quiser ajustar a fórmula, será necessário selecionar a célula H10, onde está a fórmula mestra.

  • Fórmula de matriz com uma célula

    Fórmula de matriz de célula única para calcular um total geral com =SOMA(F10:F19*G10:G19)

    Na célula H20 da pasta de trabalho de exemplo, digite ou copie e cole =SOMA(F10:F19*G10:G19)e pressione Enter.

    Nesse caso, o Excel multiplica os valores da matriz (o intervalo de células F10 a G19) e usa a função SOMA para somar os totais. O resultado é um total geral de R$ 1.590.000,00 em vendas.

    Esse exemplo mostra como esse tipo de fórmula pode ser eficiente. Por exemplo, vamos supor que você tenha 1.000 linhas de dados. Você pode somar esses dados no todo ou em parte, criando uma fórmula de matriz em uma única célula, em vez de arrastar a fórmula pelas 1.000 linhas. Além disso, observe que a fórmula de uma célula na célula H20 é totalmente independente da fórmula de várias células (a fórmula nas células H10 a H19). Esta é outra vantagem de usar fórmulas de matriz: flexibilidade. Você pode alterar as outras fórmulas na coluna H sem afetar a fórmula em H20. Também pode ser uma boa prática ter totais independentes como esse, pois ajuda a validar a precisão dos seus resultados.

  • As fórmulas de matriz dinâmicas também oferecem estas vantagens:

    • Consistência    Se clicar em qualquer uma das células de H10 para baixo, você verá a mesma fórmula. Essa consistência pode ajudar a garantir mais precisão.

    • Segurança    Não é possível substituir um componente de uma fórmula de matriz com várias células. Por exemplo, clique na célula H11 e pressione Delete. O Excel não alterará a saída da matriz. Para alterá-la, você precisa selecionar a célula superior esquerda da matriz ou a célula H10.

    • Arquivos menores    Você pode usar uma única fórmula de matriz em vez de várias fórmulas intermediárias. Por exemplo, o exemplo de vendas de carro usa uma fórmula de matriz para calcular os resultados na coluna E. Se tivesse usado fórmulas padrão como =F10*G10, F11*G11, F12*G12, etc., você teria usado 11 fórmulas diferentes para calcular os mesmos resultados. Isso não é grande coisa, mas e se você tivesse milhares de linhas no total? Isso pode fazer uma grande diferença.

    • Eficiência    As funções de matriz podem ser uma maneira eficiente de criar fórmulas complexas. A fórmula de matriz =SOMA(F10:F19*G10:G19) é a mesma que: =SOMA(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

    • Despejar    As fórmulas de matriz dinâmicas serão automaticamente despejadas no intervalo de saída. Se seus dados de origem estão em uma tabela do Excel, as fórmulas de matriz dinâmicas serão redimensionadas automaticamente à medida que você adicionar ou remover dados.

    • Erro #DESPEJAR!    As matrizes dinâmicas introduziram o Erro #DESPEJAR!, que indica que o intervalo de despejo pretendido está bloqueado por algum motivo. Quando você resolver o bloqueio, a fórmula despejará automaticamente.

As constantes de matriz são um componente das fórmulas de matriz. Para criar essas constantes, insira uma lista de itens e coloque-a entre chaves ({ }) manualmente, da seguinte maneira:

={1\2\3\4\5} ou ={"Janeiro"\"Fevereiro"\"Março"}

Se você separar os itens com vírgulas, será criada uma matriz horizontal (uma linha). Se você separar os itens com ponto-e-vírgulas, será criada uma matriz vertical (uma coluna). Para criar uma matriz bidimensional, delimite os itens em cada linha com vírgulas e delimite cada linha com ponto-e-vírgulas.

Os procedimentos a seguir oferecem alguma prática na criação de constantes horizontais, verticais e bidimensionais. Mostraremos exemplos usando a função SEQUÊNCIA para gerar constantes de matriz automaticamente, bem como constantes de matriz inseridas manualmente.

  • Criar uma constante horizontal

    Use a pasta de trabalho dos exemplos anteriores ou crie uma nova pasta de trabalho. Selecione qualquer célula vazia e insira =SEQUÊNCIA(1;5). A função SEQUÊNCIA cria uma matriz de 1 linha por 5 colunas igual a ={1\2\3\4\5}. O seguinte resultado será exibido:

    Crie uma constante de matriz horizontal com =SEQUÊNCIA(1;5) ou ={1;2;3;4;5}

  • Criar uma constante vertical

    Selecione qualquer célula em branco com espaço abaixo dela e insira =SEQUÊNCIA(5)ou ={1;2;3;4;5}. O seguinte resultado será exibido:

    Crie uma constante de matriz vertical com =SEQUÊNCIA(5), ou ={1;2;3;4;5}

  • Criar uma constante bidimensional

    Selecione qualquer célula em branco com espaço à direita e abaixo dela e insira =SEQUÊNCIA(3,4). O seguinte resultado será exibido:

    Crie uma constante de matriz de 3 linhas por 4 colunas com =SEQUÊNCIA(3;4)

    Você também pode inserir: ou ={1\2\3\4;5\6\7\8;9\10\11\12}, mas preste atenção onde coloca ponto e vírgula em vez de vírgulas.

    Como você pode ver, a opção SEQUÊNCIA oferece vantagens significativas ao inserir manualmente os valores constantes de matriz. Principalmente, isso poupa tempo, mas também pode ajudar a reduzir erros da entrada manual. Também é mais fácil de ler, especialmente porque ponto e vírgula pode ser difícil distinguir dos separadores de vírgula.

Veja um exemplo que usa constantes de matriz como parte de uma fórmula maior. Na pasta de trabalho de exemplo, vá para a planilha Constante em uma fórmula ou crie uma nova planilha.

Na célula D9, inserimos =SEQUÊNCIA(1,5,3,1); mas você também poderia inserir 3, 4, 5, 6 e 7 nas células A9:H9. Não há nada especial nessa seleção de número específica, apenas escolhemos algo diferente de 1 a 5 para diferenciação.

Na célula E11, insira =SOMA(D9:H9*SEQUÊNCIA(1,5))ou =SOMA(D9:H9*{1\2\3\4\5}). As fórmulas retornam 85.

Use constantes em fórmulas. Neste exemplo, utilizamos =SOMA(D9:H(*SEQUÊNCIA(1;5))

A função SEQUÊNCIA cria o equivalente da constante de matriz {1\2\3\4\5}. Como o Excel executa as operações entre parênteses primeiro, os dois próximos elementos a serem considerados são os valores de célula em D9:H9 e o operador de multiplicação (*). Neste ponto, a fórmula multiplica os valores da matriz armazenada pelos valores correspondentes da constante. Isso equivale a:

=SOMA(D9*1,E9*2,F9*3,G9*4,H9*5)ou =SOMA(3*1,4*2,5*3,6*4,7*5)

Por fim, a função SOMA soma os valores e retorna 85.

Para evitar o uso da matriz armazenada e manter a operação totalmente na memória, você pode substituí-la por outra constante de matriz:

=SOMA(SEQUÊNCIA(1,5,3,1)*SEQUÊNCIA(1,5))ou =SOMA({3\4\5\6\7}*{1\2\3\4\5})

Elementos que podem ser usados em constantes de matriz

  • As constantes de matriz podem conter números, texto, valores lógicos (como VERDADEIRO e FALSO) e valores de erro como #N/A. Você pode usar números nos formatos inteiro, decimal e científico. Se você incluir texto, será necessário colocá-lo entre aspas ("texto").

  • As constantes de matriz não podem conter outras matrizes, fórmulas ou funções. Em outras palavras, elas só podem conter texto ou números separados por vírgula ou ponto-e-vírgula. O Excel exibirá uma mensagem de aviso quando você inserir uma fórmula como {1\2\A1:D4} ou {1\2\SOMA(Q2:Z8)}. Além disso, valores numéricos não podem conter sinais de percentual, cifrões, vírgulas ou parênteses.

O melhor modo de usar constantes de matriz é nomeá-las. As constantes nomeadas podem ser mais fáceis de usar e ocultam um pouco da complexidade das fórmulas de matriz. Para nomear uma constante de matriz e usá-la em uma fórmula, siga este procedimento:

Vá para Fórmulas > Nomes Definidos > Definir Nome. Na caixa Nome, digite Trimestre1. Na caixa Refere-se a, insira a seguinte constante (lembre-se de digitar as chaves manualmente):

={"Janeiro"\"Fevereiro"\"Março"}

A caixa de diálogo agora deve ter esta aparência:

Adicione uma constante de matriz nomeada a partir de Fórmulas > Nomes Definidos > Gerenciador de Nomes > Novo

Clique OK e selecione qualquer linha com três células em branco e insira =Trimestre1.

O seguinte resultado será exibido:

Use uma constante de matriz nomeada em uma fórmula, como =Trimestre1, onde Trimestre1 foi definido como ={"Janeiro","Fevereiro","Março"}

Se você quiser que os resultados despejem verticalmente em vez de horizontalmente, você pode usar =TRANSPOR(Trimestre1).

Se você quiser exibir uma lista de 12 meses, como você poderia usar ao criar uma demonstração financeira, poderá basear uma no ano atual com a função SEQUÊNCIA. O mais legal desta função é que, mesmo que apenas o mês seja exibido, há uma data válida por trás dela que você pode usar em outros cálculos. Você encontrará estes exemplos nas planilhas constante de matriz nomeada e conjunto de dados de exemplo na pasta de trabalho de exemplo.

=TEXTO(DATA(ANO(HOJE());SEQUÊNCIA(1,12),1),"mmm")

Use uma combinação das funções TEXTO, DATA, ANO, HOJE e SEQUÊNCIA para criar uma lista dinâmica de 12 meses

Isso usa a função DATA para criar uma data com base no ano atual, a SEQUÊNCIA cria uma constante de matriz de 1 a 12 para janeiro a dezembro, em seguida, a função TEXTO converte o formato de exibição em "mmm" (jan, fev, mar, etc.). Se você quisesse exibir o nome completo do mês, como janeiro, usaria "mmmm".

Quando você usar uma constante nomeada como uma fórmula de matriz, lembre-se de inserir o sinal de igual, como em =Trimestre1, não apenas Trimestre1. Caso contrário, o Excel interpretará a matriz como uma cadeia de texto, e a fórmula não funcionará conforme esperado. Por fim, lembre-se de que você pode usar combinações de texto e números. Tudo depende do quão criativo deseja ser.

Os exemplos a seguir demonstram algumas das formas pelas quais você pode colocar constantes de matriz para utilização em fórmulas de matriz. Alguns dos exemplos usam a função TRANSPOR para converter linhas em colunas e vice-versa.

  • Multiplicar cada item em uma matriz

    Insira =SEQUÊNCIA(1,12)*2ou ={1\2\3\4;5\6\7\8;9\10\11\12}*2

    Você também pode dividir com (/), adicionar com (+) e subtrair com (-).

  • Elevar os itens de uma matriz ao quadrado

    Insira =SEQUÊNCIA(1,12)^2ou ={1\2\3\4;5\6\7\8;9\10\11\12}^2

  • Encontrar a raiz quadrada de itens quadrados em uma matriz

    Insira =RAIZ(SEQUÊNCIA(1,12)^2)ou =RAIZ({1\2\3\4;5\6\7\8;9\10\11\12}^2)

  • Transpor uma linha unidimensional

    Insira =TRANSPOR(SEQUÊNCIA(1,5))ou =TRANSPOR({1\2\3\4\5})

    Embora você tenha inserido uma constante de matriz horizontal, a função TRANSPOR converterá a constante de matriz em uma coluna.

  • Transpor uma coluna unidimensional

    Insira =TRANSPOR(SEQUÊNCIA(5,1)), ou =TRANSPOR({1;2;3;4;5})

    Embora você tenha inserido uma constante de matriz vertical, a função TRANSPOR converterá a constante em uma linha.

  • Transpor uma constante bidimensional

    Insira =TRANSPOR(SEQUÊNCIA(3,4))ou =TRANSPOR({1\2\3\4;5\6\7\8;9\10\11\12})

    A função TRANSPOR converterá cada linha em uma série de colunas.

Esta seção contém exemplos de fórmulas de matriz básicas.

  • Criar uma matriz com base em valores existentes

    O exemplo a seguir explica como usar fórmulas de matriz para criar uma nova matriz a partir de uma matriz existente.

    Insira =SEQUÊNCIA(3,6,10,10)ou ={10\20\30\40\50\60;70\80\90\100\110\120;130\140\150\160\170\180}

    Não deixe de digitar { (chave de abertura) antes de digitar 10 e } (chave de fechamento) depois de digitar 180, pois você está criando uma matriz de números.

    Em seguida, insira =D9# ou =D9:I11 em uma célula em branco. Uma matriz de células de 3 x 6 é exibida com os mesmos valores que você vê em D9:D11. O sinal # é chamado operador de intervalo de despejoe é uma maneira do Excel referenciar o intervalo de matriz inteiro em vez de ter que digitá-lo.

    Use o operador de intervalo de despejo (#) para fazer referência a uma matriz existente

  • Criar uma constante de matriz com base em valores existentes

    Você pode pegar os resultados de uma fórmula de matriz despejada e convertê-los em seus componentes. Selecione a célula D9 e pressione F2 para alternar para o modo de edição. Em seguida, pressione F9 para converter as referências de célula em valores, que o Excel converte em uma constante de matriz. Quando você pressiona Enter, a fórmula =D9# agora deve ser ={10\20\30;40\50\60;70\80\90}.

  • Contar caracteres em um intervalo de células

    O exemplo a seguir mostra como contar o número de caracteres em um intervalo de células. Isso inclui espaços.

    Conte o número total de caracteres em um intervalo e outras matrizes para trabalhar com cadeias de texto

    =SOMA(NÚM.CARACT(C9:C13))

    Neste caso, a função NÚM.CARACT retornará o comprimento de cada cadeia de texto em cada uma das células do intervalo. Em seguida, a função SOMA soma esses valores e exibe o resultado (66). Se quiser obter a média do número de caracteres, você pode usar:

    =MÉDIA(NÚM.CARACT(C9:C13))

  • Conteúdo da maior célula do intervalo C9:C13

    =ÍNDICE(C9:C13,CORRESP(MÁXIMO(NÚM.CARACT(C9:C13)),NÚM.CARACT(C9:C13),0),1)

    Esta fórmula só funcionará quando um intervalo de dados contiver uma única coluna de células.

    Vamos examinar mais detalhadamente a fórmula, começando dos elementos internos para os externos. A função NÚM.CARACT retorna o comprimento de cada um dos itens no intervalo de células D2:D6. A função MÁXIMO calcula o maior valor entre esses itens, que corresponde à maior cadeia de texto, que está na célula D3.

    É neste ponto que as coisas ficam um pouco mais complexas. A função CORRESP calcula o deslocamento (a posição relativa) da célula que contém a cadeia de texto mais longa. Para fazer isso, são necessários três argumentos: um valor de pesquisa, uma matriz de pesquisa e um tipo de correspondência. A função CORRESP procura na matriz de pesquisa o valor de pesquisa especificado. Neste caso, o valor de pesquisa é a cadeia de texto mais longa:

    MÁXIMO(NÚM.CARACT(C9:C13)

    e essa cadeia de caracteres reside nesta matriz:

    NÚM.CARACT(C9:C13)

    O argumento do tipo de combinação, nesse caso, é 0. O tipo de correspondência pode ser um valor 1, 0 ou -1.

    • 1: retorna o maior valor que é menor que ou igual ao valor de pesquisa

    • 0: retorna o primeiro valor exatamente igual ao valor de pesquisa

    • -1: retorna o menor valor que é maior que ou igual ao valor de pesquisa especificado

    • Se você omitir um tipo de correspondência, o Excel adotará o valor 1.

    Por fim, a função ÍNDICE opera com estes argumentos: uma matriz e um número de linha e de coluna nessa matriz. O intervalo de células C9:C13 fornece a matriz, a função CORRESP fornece o endereço da célula e o argumento final (1) especifica que o valor vem da primeira coluna da matriz.

    Se você quiser obter o conteúdo da menor cadeia de texto, substitua MÁXIMO no exemplo acima por MÍNIMO.

  • Localizar os n menores valores de um intervalo

    Este exemplo mostra como encontrar os três menores valores de um intervalo de células, onde uma matriz de dados de exemplo nas células B9:B18 foi criada com: =INT(MATRIZALEATÓRIA(10,1)*100). Observe que MATRIZALEATÓRIA é uma função imprevisível, portanto, você obterá um novo conjunto de números aleatórios sempre que o Excel calcular.

    Fórmula de matriz do Excel para encontrar o menor valor enésimo: =MENOR(B9#;SEQUÊNCIA(D9))

    Insira =MENOR(B9#,SEQUÊNCIA(D9), =MENOR(B9:B18,{1;2;3})

    Essa fórmula usa uma constante de matriz para avaliar a função MENOR três vezes e retornar os menores 3 membros na matriz que estão contidos nas células B9:B18, onde 3 é um valor variável na célula D9. Para encontrar mais valores, você pode aumentar o valor na função SEQUÊNCIA ou adicionar mais argumentos à constante. Você também pode usar funções adicionais com essa fórmula, como SOMA ou MÉDIA. Por exemplo:

    =SOMA(MENOR(B9#;SEQUÊNCIA(D9))

    =MÉDIA(MENOR(B9#;SEQUÊNCIA(D9))

  • Localizar os n maiores valores de um intervalo

    Para localizar os maiores valores de um intervalo, você pode substituir a função MENOR pela função MAIOR. Além disso, o exemplo a seguir usa as funções LIN e INDIRETO.

    Insira =MAIOR(B9#,LIN(INDIRETO("1:3")))ou =MAIOR(B9:B18,LIN(INDIRETO("1:3")))

    Neste ponto, pode ser útil saber um pouco sobre as funções LIN e INDIRETO. Você pode usar a função LINHA para criar uma matriz de números inteiros consecutivos. Por exemplo, selecione um vazio e insira:

    =LINHA(1:10)

    A fórmula cria uma coluna de 10 inteiros consecutivos. Para ver um possível problema, insira uma linha acima do intervalo que contém a fórmula de matriz (ou seja, acima da linha 1). O Excel ajusta as referências de linha e a fórmula agora gera números inteiros de 2 a 11. Para corrigir esse problema, adicione a função INDIRETO à fórmula:

    =LIN(INDIRETO("1:10"))

    A função INDIRETO usa cadeias de caracteres de texto como argumentos (e é por isso que o intervalo 1:10 está entre aspas). O Excel não ajusta valores de texto quando você insere linhas ou move a fórmula de matriz. Como resultado, a função LIN sempre gera a matriz de números inteiros desejada. Você poderia facilmente usar SEQUÊNCIA:

    =SEQUÊNCIA(10)

    Vamos examinar a fórmula que você usou anteriormente — =MAIOR(B9#,LIN(INDIRETO("1:3"))) — começando pelos parênteses internos e indo para fora: a função INDIRETO retorna um conjunto de valores de texto, nesse caso os valores de 1 a 3. A função LIN, por sua vez, gera uma matriz de coluna de três células. A função MAIOR usa os valores no intervalo de células B9:B18 e é avaliada três vezes, uma vez para cada referência retornada pela função LIN. Se quiser encontrar mais valores, adicione um maior intervalo de células à função INDIRETO. Para concluir, assim como nos exemplos de MENOR, você pode usar essa fórmula com outras funções, como SOMA e MÉDIA.

  • Somar um intervalo que contém valores de erro

    A função SOMA do Excel não funciona quando você tenta somar um intervalo que contém um valor de erro, como #VALOR! ou #N/A. Este exemplo mostra como somar os valores em um intervalo chamado Dados que contém erros:

    Use matrizes para lidar com erros. Por exemplo, =SOMA(SE(ÉERRO(Dados),"",Dados) somará o intervalo denominado Dados mesmo que inclua erros, como #VALOR! ou #N/D!.

  • =SOMA(SE(ÉERROS(Dados),"",Dados))

    A fórmula cria uma nova matriz contendo os valores originais menos quaisquer valores de erro. Das funções internas para as externas, a função ÉERROS pesquisa o intervalo de células (Dados) em busca de erros. A função SE retornará um valor específico se uma condição especificada for avaliada como VERDADEIRO e outro valor se ela for avaliada como FALSO. Neste caso, ela retorna cadeias de caracteres vazias ("") para todos os valores de erro, pois eles são avaliados como VERDADEIRO, e retorna os valores restantes do intervalo (Dados), pois eles são avaliados como FALSO, o que significa que eles não contêm valores de erro. Em seguida, a função SOMA calcula o total da matriz filtrada.

  • Contar o número de valores de erro em um intervalo

    Este exemplo é como a fórmula anterior, mas retorna o número de valores de erro em um intervalo chamado Dados em vez de filtrá-los:

    =SOMA(SE(ÉERROS(Dados),1,0))

    Essa fórmula cria uma matriz contendo o valor 1 para as células que contêm erros e o valor 0 para as que não contêm erros. Você pode simplificar a fórmula e obter o mesmo resultado removendo o terceiro argumento da função SE, da seguinte maneira:

    =SOMA(SE(ÉERROS(Dados),1))

    Se você não especificar o argumento, a função SE retornará FALSO se uma célula não contiver um valor de erro. Você pode simplificar a fórmula ainda mais:

    =SOMA(SE(ÉERROS(Dados)*1))

    Essa versão funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Talvez seja necessário somar valores com base em condições.

Você pode usar matrizes para calcular com base em determinadas condições. =SOMA(SE(Vendas>0;Vendas)) somará todos os valores maiores que 0 em um intervalo chamado Vendas.

Por exemplo, esta fórmula de matriz soma apenas os inteiros positivos em um intervalo chamado Vendas, que representa as células E9:E24 no exemplo acima:

=SOMA(SE(Vendas>0,Vendas))

A função SE cria uma matriz de valores positivos e falsos. A função SOMA essencialmente ignora os falsos valores, pois 0+0=0. O intervalo de células que você usa nessa fórmula pode consistir em qualquer número de linhas e colunas.

Você também pode somar valores que atendam a mais de uma condição. Por exemplo, esta fórmula de matriz calcula valores maiores que 0 E menores que 2500:

=SOMA((Vendas>0)*(Vendas<2500)*(Vendas))

Lembre-se de que essa fórmula retornará um erro se o intervalo contiver uma ou mais células não numéricas.

Você também pode criar fórmulas de matriz que usem um tipo de condição OU. Por exemplo, você pode somar valores maiores que 0 OU menores que 2500:

=SOMA(SE((Vendas>0)+(Vendas<2500),Vendas))

Não é possível usar as funções E e OU diretamente em fórmulas de matriz, pois essas funções retornam um único resultado, VERDADEIRO ou FALSO, e as funções de matriz exigem matrizes de resultados. Você pode contornar o problema usando a lógica mostrada na fórmula anterior. Em outras palavras, você executa operações matemáticas, como adição ou multiplicação, em valores que atendam à condição OU ou E.

Este exemplo mostra como remover zeros de um intervalo quando você precisar calcular a média dos valores desse intervalo. A fórmula usa um intervalo de dados chamado Vendas:

=MÉDIA(SE(Vendas<>0,Vendas))

A função SE cria uma matriz de valores que não são iguais a 0 e passa esses valores para a função MÉDIA.

Esta fórmula de matriz compara os valores de dois intervalos de células chamados MeusDados e SeusDados e retorna o número de diferenças entre os dois. Se o conteúdo dos dois intervalos for idêntico, a fórmula retornará 0. Para usar essa fórmula, os intervalos de células precisam ter o mesmo tamanho e a mesma dimensão. Por exemplo, se MeusDados for um intervalo de 3 linhas por 5 colunas, SeusDados também deverão ser 3 linhas por 5 colunas:

=SOMA(SE(MeusDados=SeusDados,0,1))

A fórmula criará uma nova matriz do mesmo tamanho dos intervalos que você está comparando. A função SE preencherá a matriz com o valor 0 e o valor 1 (0 para células que não correspondam e 1 para células idênticas). Em seguida, a função SOMA retornará a soma dos valores da matriz.

Você pode simplificar a fórmula deste modo:

=SOMA(1*(MeusDados<>SeusDados))

Como a fórmula que conta valores de erro em um intervalo, essa fórmula funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Esta fórmula de matriz retorna o número de linha do valor máximo em um intervalo de uma única coluna chamado Dados:

=MÍN(SE(Dados=MÁX(Dados),LINHA(Dados),""))

A função SE cria uma nova matriz que corresponde ao intervalo chamado Dados. Se uma célula correspondente contiver o valor máximo no intervalo, a matriz conterá o número da linha. Caso contrário, a matriz conterá uma cadeia de caracteres vazia (""). A função MÍN usa a nova matriz como segundo argumento e retorna o menor valor, que corresponde ao número da linha do valor máximo em Dados. Se o intervalo chamado Dados contiver valores máximos idênticos, a fórmula retornará a linha do primeiro valor.

Para retornar o endereço de célula real de um valor máximo, use esta fórmula:

=ENDEREÇO(MÍN(SE(Dados=MÁX(Dados),LINHA(Dados),"")),COLUNA(Dados))

Você encontrará exemplos semelhantes na pasta de trabalho de exemplo na planilha Diferenças entre conjuntos de dados.

Este exercício mostra como usar fórmulas de matriz de várias células e de uma célula para calcular um conjunto de estatísticas de vendas. O primeiro conjunto de etapas usa uma fórmula de várias células para calcular um conjunto de subtotais. O segundo conjunto usa uma fórmula de uma célula para calcular um total geral.

  • Fórmula de matriz de várias células

Copie toda a tabela abaixo e cole-a na célula A1 de uma planilha em branco no Excel.

Vendedor  Responsável

Tipo de carro

Quantidade Vendida

Preço Unitário

Total de Vendas

Oliveira

Sedã

5

33000

Cupê

4

37000

Ingle

Sedã

6

24000

Cupê

8

21000

Jordan

Sedã

3

29000

Cupê

1

31000

Gonçalo

Sedã

9

24000

Cupê

5

37000

Sanchez

Sedã

6

33000

Cupê

8

31000

Total Geral

Total Geral

'=SOMA(C2:C11*D2:D11)

=SOMA(C2:C11*D2:D11)

  1. Para ver o Total de Vendas de coupes e sedans para cada vendedor, selecione as células E2:E11, insira a fórmula =C2:C11*D2:D11e pressione Ctrl+Shift+Enter.

  2. Para ver o Total Geral de todas as vendas, selecione a célula F11, insira a fórmula =SOMA(C2:C11*D2:D11) e depois pressione Ctrl+Shift+Enter.

Quando você pressiona Ctrl+Shift+Enter, o Excel coloca a fórmula entre chaves ({ }) e insere uma instância da fórmula em cada célula do intervalo selecionado. Como isso acontece muito rápido, o que você vê na coluna E é o valor total das vendas de cada tipo de carro para cada vendedor. Se você selecionar E2, depois selecionar E3, E4 e assim por diante, a mesma fórmula será mostrada: {=C2:C11*D2:D11} 

Os totais da coluna E são calculados por uma fórmula de matriz

  • Criar uma fórmula de matriz de uma célula

Na célula D13 da pasta de trabalho, digite a fórmula a seguir e pressione Ctrl+Shift+Enter:

=SOMA(C2:C11*D2:D11)

Neste caso, o Excel multiplica os valores da matriz (o intervalo de células C2 a D11) e usa a função SOMA para somar os totais. O resultado é um total geral de R$ 1.590.000,00 em vendas. Esse exemplo mostra como esse tipo de fórmula pode ser eficiente. Por exemplo, vamos supor que você tenha 1.000 linhas de dados. Você pode somar esses dados no todo ou em parte, criando uma fórmula de matriz em uma única célula, em vez de arrastar a fórmula pelas 1.000 linhas.

Além disso, observe que a fórmula de uma célula na célula D13 é totalmente independente da fórmula de várias células (a fórmula nas células E2 a E11). Esta é outra vantagem de usar fórmulas de matriz: flexibilidade. Você pode alterar as fórmulas na coluna E ou excluir toda essa coluna, sem afetar a fórmula na D13.

As fórmulas de matriz também oferecem estas vantagens:

  • Consistência    Se clicar em qualquer das células de E2 para baixo, você verá a mesma fórmula. Essa consistência pode ajudar a garantir mais precisão.

  • Segurança    Não é possível substituir um componente de uma fórmula de matriz de várias células. Por exemplo, clique na célula E3 e pressione Delete. Você precisará selecionar o intervalo de células inteiro (E2 a E11) e alterar a fórmula da matriz inteira ou então deixar a matriz como está. Como uma medida de segurança a mais, você precisa pressionar Ctrl+Shift+Enter para confirmar qualquer alteração na fórmula.

  • Arquivos menores    Você pode usar uma única fórmula de matriz em vez de várias fórmulas intermediárias. Por exemplo, a pasta de trabalho usa uma fórmula de matriz para calcular os resultados na coluna E. Se tivesse usado fórmulas padrão (como =C2*D2, C3*D3, C4*D4…), você teria usado 11 fórmulas diferentes para calcular os mesmos resultados.

Em geral, as fórmulas de matriz usam a sintaxe padrão de fórmulas. Todas elas começam com um sinal de igual (=), e a maioria das funções internas do Excel pode ser usada nessas fórmulas. A principal diferença é que, ao usar uma fórmula de matriz, você pressiona Ctrl+Shift+Enter para inserir a fórmula. Quando você faz isso, o Excel coloca a fórmula de matriz entre chaves — se você digitar as chaves manualmente, a fórmula será convertida em uma cadeia de texto e não funcionará.

As funções de matriz podem ser uma maneira eficiente de criar fórmulas complexas. A fórmula de matriz =SOMA(C2:C11*D2:D11) é igual a esta: =SOMA(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11).

Importante: Pressione Ctrl+Shift+Enter sempre que precisar inserir uma fórmula de matriz. Isso se aplica tanto a fórmulas de célula única como de várias células.

Sempre que trabalhar com fórmulas de várias células, também lembre-se do seguinte:

  • Selecione o intervalo de células que receberá os resultados antes de inserir a fórmula. Você fez isso quando criou a fórmula de várias células selecionando as células E2 a E11.

  • Não é possível alterar o conteúdo de uma célula individual em uma fórmula de matriz. Para testar isso, selecione a célula E3 na pasta de trabalho e pressione Delete. O Excel exibirá uma mensagem informando que não é possível alterar parte de uma matriz.

  • Você pode mover ou excluir uma fórmula de matriz inteira, mas não pode mover nem excluir parte dela. Em outras palavras, para reduzir uma fórmula de matriz, primeiro exclua a fórmula existente e depois comece do zero.

  • Para excluir uma fórmula de matriz, selecione todo o intervalo de fórmulas (por exemplo, E2:E11), em seguida, pressione Delete.

  • Não é possível inserir células em branco ou excluir células de uma fórmula de matriz de várias células.

Às vezes, poderá ser necessário expandir uma fórmula de matriz. Selecione a primeira célula no intervalo de matriz existente e continue até selecionar todo o intervalo para o qual você deseja estender a fórmula. Pressione F2 para editar a fórmula e pressione Ctrl+Shift+Enter para confirmar a fórmula depois de ajustar o intervalo de fórmulas. O segredo é selecionar o intervalo inteiro, começando com a célula superior esquerda da matriz. A célula superior esquerda é aquela que é editada.

As fórmulas de matriz são excelentes, mas também têm algumas desvantagens:

  • Ocasionalmente, você pode se esquecer de pressionar Ctrl+Shift+Enter. Isso pode acontecer com os usuários mais experientes do Excel. Lembre-se de pressionar essa combinação de teclas sempre que inserir ou editar uma fórmula de matriz.

  • É possível que outros usuários da pasta de trabalho não entendam suas fórmulas. Na prática, normalmente as fórmulas de matriz não são explicadas em uma planilha. Portanto, se outros usuários precisarem modificar suas pastas de trabalho, evite usar fórmulas de matriz ou verifique se esses usuários conhecem esse tipo de fórmula e saberão como alterá-las, caso seja necessário.

  • Dependendo da velocidade do processamento e da memória do computador, as fórmulas de matriz grandes podem reduzir a velocidade dos cálculos.

As constantes de matriz são um componente das fórmulas de matriz. Para criar essas constantes, insira uma lista de itens e coloque-a entre chaves ({ }) manualmente, da seguinte maneira:

={1\2\3\4\5}

Agora você já sabe que precisa pressionar Ctrl+Shift+Enter ao criar fórmulas de matriz. Como as constantes de matriz são um componente das fórmulas de matriz, você coloca as constantes entre chaves digitando-as manualmente. Em seguida, use Ctrl+Shift+Enter para inserir a fórmula inteira.

Se você separar os itens com vírgulas, será criada uma matriz horizontal (uma linha). Se você separar os itens com ponto-e-vírgulas, será criada uma matriz vertical (uma coluna). Para criar uma matriz bidimensional, delimite os itens em cada linha usando vírgulas e delimite cada linha usando ponto-e-vírgulas.

Esta é uma matriz em uma única linha: {1\2\3\4}. Está é uma matriz em uma única coluna: {1;2;3;4}. E esta é uma matriz de duas linhas e quatro colunas: {1\2\3\4;5\6\7\8}. Na matriz de duas linhas, a primeira linha é 1, 2, 3 e 4, e a segunda linha é 5, 6, 7 e 8. Um ponto-e-vírgula separa as duas linhas, entre 4 e 5.

Como nas fórmulas de matriz, você pode usar constantes de matriz com a maioria das funções internas do Excel. As seções a seguir explicam como criar cada tipo de constante e como usá-las com funções no Excel.

Os procedimentos a seguir oferecem alguma prática na criação de constantes horizontais, verticais e bidimensionais.

Criar uma constante horizontal

  1. Em uma planilha em branco, selecione as células A1 a E1.

  2. Na barra de fórmulas, insira a fórmula a seguir e pressione Ctrl+Shift+Enter:

    ={1\2\3\4\5}

    Nesse caso, você deve digitar as chaves de abertura e fechamento ({ }), e o Excel adicionará o segundo conjunto para você.

    O seguinte resultado será exibido:

    Constante de matriz horizontal em uma fórmula de matriz

Criar uma constante vertical

  1. Na pasta de trabalho, selecione uma coluna de cinco células.

  2. Na barra de fórmulas, insira a fórmula a seguir e pressione Ctrl+Shift+Enter:

    ={1;2;3;4;5}

    O seguinte resultado será exibido:

    Constante de matriz vertical em uma fórmula de matriz

Criar uma constante bidimensional

  1. Na pasta de trabalho, selecione um bloco de células de quatro colunas de largura e três linhas de altura.

  2. Na barra de fórmulas, insira a fórmula a seguir e pressione Ctrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}

    O seguinte resultado será exibido:

    Constante de matriz bidimensional em uma fórmula de matriz

Usar constantes em fórmulas

Este é um exemplo simples que usa constantes:

  1. Na pasta de trabalho de exemplo, crie uma nova planilha.

  2. Na célula A1, digite 3 e depois digite 4 em B1, 5 em C1, 6 em D1 e 7 em E1.

  3. Na célula A3, digite a fórmula a seguir e pressione Ctrl+Shift+Enter:

    =SOMA(A1:E1*{1\2\3\4\5})

    Observe que o Excel colocará a constante entre um segundo par de chaves, porque você a digitou como uma fórmula de matriz.

    Fórmula de matriz com constante de matriz

    O valor 85 será exibido na célula A3.

A próxima seção explica como a fórmula funciona.

A fórmula que você acabou de usar contém várias partes.

Sintaxe de fórmula de matriz com constante de matriz

1. Função

2. Matriz armazenada

3. Operador

4. Constante de matriz

O último elemento dentro dos parênteses é a constante de matriz: {1\2\3\4\5}. Lembre-se de que o Excel não coloca as constantes de matriz entre chaves; você deve digitá-las. Lembre-se também de que depois de adicionar uma constante a uma fórmula de matriz, pressione Ctrl+Shift+Enter para inserir a fórmula.

Como o Excel executa as operações das expressões entre parênteses primeiro, os próximos dois elementos a serem processados são os valores armazenados na pasta de trabalho (A1:E1) e o operador. Neste ponto, a fórmula multiplica os valores da matriz armazenada pelos valores correspondentes da constante. Isso equivale a:

=SOMA(A1*1,B1*2,C1*3,D1*4,E1*5)

Por fim, a função SOMA somará os valores, e o resultado 85 será exibido na célula A3.

Para evitar usar a matriz armazenada e manter a operação inteiramente na memória, substitua a matriz armazenada por outra constante de matriz:

=SOMA({3\4\5\6\7}*{1\2\3\4\5})

Para testar isso, copie a função, selecione uma célula em branco na pasta de trabalho, cole a fórmula na barra de fórmulas e pressione Ctrl+Shift+Enter. Você verá o mesmo resultado do exercício anterior que usou a fórmula de matriz:

=SOMA(A1:E1*{1\2\3\4\5})

As constantes de matriz podem conter números, texto, valores lógicos (como VERDADEIRO e FALSO) e valores de erro (como #N/D). Você pode usar números nos formatos inteiro, decimal e científico. Se você incluir texto, será necessário colocá-lo entre aspas (").

As constantes de matriz não podem conter outras matrizes, fórmulas ou funções. Em outras palavras, elas só podem conter texto ou números separados por vírgula ou ponto-e-vírgula. O Excel exibirá uma mensagem de aviso quando você inserir uma fórmula como {1\2\A1:D4} ou {1\2\SOMA(Q2:Z8)}. Além disso, valores numéricos não podem conter sinais de percentual, cifrões, vírgulas ou parênteses.

Uma das melhores maneiras de usar constantes de matriz é nomeá-las. As constantes nomeadas podem ser mais fáceis de usar e ocultam um pouco da complexidade das fórmulas de matriz. Para nomear uma constante de matriz e usá-la em uma fórmula, siga este procedimento:

  1. Na guia Fórmulas, no grupo Nomes Definidos, clique em Definir Nome. A caixa de diálogo Definir Nome é exibida.

  2. Na caixa Nome, digiteTrimestre1.

  3. Na caixa Refere-se a, insira a seguinte constante (lembre-se de digitar as chaves manualmente):

    ={"Janeiro"\"Fevereiro"\"Março"}

    O conteúdo da caixa de diálogo agora tem esta aparência:

    Caixa de diálogo Editar Nome com fórmula

  4. Clique em OK e selecione uma linha de três células em branco.

  5. Digite a seguinte fórmula e pressione Ctrl+Shift+Enter.

    =Trimestre1

    O seguinte resultado será exibido:

    Constante de matriz nomeada inserida como fórmula

Quando você usar uma constante nomeada como uma fórmula de matriz, lembre-se de digitar o sinal de igual. Caso contrário, o Excel interpretará a matriz como uma cadeia de texto, e a fórmula não funcionará conforme esperado. Por fim, lembre-se de que você pode usar combinações de texto e números.

Procure os seguintes problemas quando suas constantes de matriz não funcionarem:

  • Talvez alguns elementos não estejam separados pelo caractere correto. Se você omitir uma vírgula ou ponto-e-vírgula, ou se colocar uma vírgula no lugar errado, talvez a constante de matriz não seja criada corretamente ou talvez você veja uma mensagem de aviso.

  • Talvez você tenha selecionado um intervalo de células que não corresponda ao número de elementos da constante. Por exemplo, se você selecionar uma coluna de seis células para ser usada com uma constante de cinco células, o valor de erro #N/D será exibido na célula vazia. De maneira inversa, se você selecionar células de menos, o Excel omitirá os valores que não tiverem uma célula correspondente.

Os exemplos a seguir demonstram algumas das formas pelas quais você pode colocar constantes de matriz para utilização em fórmulas de matriz. Alguns dos exemplos usam a função TRANSPOR para converter linhas em colunas e vice-versa.

Multiplicar cada item de uma matriz

  1. Crie uma nova planilha e depois selecione um bloco de células vazias com quatro colunas de largura e três linhas de altura.

  2. Digite a fórmula a seguir e pressione Ctrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}*2

Elevar os itens de uma matriz ao quadrado

  1. Selecione um bloco de células vazias com quatro colunas de largura e três linhas de altura.

  2. Digite a seguinte fórmula de matriz e pressioneCtrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}*{1\2\3\4;5\6\7\8;9\10\11\12}

    Como alternativa, digite esta fórmula de matriz, que utiliza o operador circunflexo (^):

    ={1\2\3\4;5\6\7\8;9\10\11\12}^2

Transpor uma linha unidimensional

  1. Selecione uma coluna de cinco células em branco.

  2. Digite a fórmula a seguir e pressione Ctrl+Shift+Enter:

    =TRANSPOR({1\2\3\4\5})

    Embora você tenha inserido uma constante de matriz horizontal, a função TRANSPOR converterá a constante em uma coluna.

Transpor uma coluna unidimensional

  1. Selecione uma linha de cinco células em branco.

  2. Insira a fórmula a seguir e pressione Ctrl+Shift+Enter:

    =TRANSPOR({1;2;3;4;5})

Embora você tenha inserido uma constante de matriz vertical, a função TRANSPOR converterá a constante em uma linha.

Transpor uma constante bidimensional

  1. Selecione um bloco de células com três colunas de largura e quatro linhas de altura.

  2. Insira a constante a seguir e pressione Ctrl+Shift+Enter:

    =TRANSPOR({1\2\3\4;5\6\7\8;9\10\11\12})

    A função TRANSPOR converterá cada linha em uma série de colunas.

Esta seção contém exemplos de fórmulas de matriz básicas.

Criar matrizes e constantes de matriz com base em valores existentes

O exemplo a seguir explica como usar fórmulas de matriz para criar vínculos entre intervalos de células em planilhas diferentes. Também mostra como criar uma constante de matriz com base no mesmo conjunto de valores.

Criar uma matriz com base em valores existentes

  1. Em uma planilha no Excel, selecione as células C8:E10 e insira esta fórmula:

    ={10\20\30;40\50\60;70\80\90}

    Não deixe de digitar { (chave de abertura) antes de digitar 10 e } (chave de fechamento) depois de digitar 90, pois você está criando uma matriz de números.

  2. Pressione Ctrl+Shift+Enter, o que insere essa matriz de números no intervalo de células C8:E10 usando uma fórmula de matriz. Em sua planilha, C8 a E10 deve ter a seguinte aparência:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Selecione o intervalo de células C1 a E3.

  4. Insira a seguinte fórmula na barra de fórmulas e pressione Ctrl+Shift+Enter:

    =C8:E10

    Uma matriz de células de 3x3 aparece nas células C1 a E3 com os mesmos valores que você viu em C8 a E10.

Criar uma constante de matriz com base em valores existentes

  1. Com as células C1:C3 selecionadas, pressione F2 para alternar para o modo de edição. 

  2. Pressione F9 para converter as referências de célula em valores. O Excel converterá os valores em uma constante de matriz. Agora a fórmula deve ser ={10\20\30;40\50\60;70\80\90}.

  3. Pressione Ctrl+Shift+Enter para inserir a constante de matriz como uma fórmula de matriz.

Contar caracteres em um intervalo de células

O exemplo a seguir mostra como contar o número de caracteres, inclusive espaços, em um intervalo de células.

  1. Copie esta tabela inteira e cole-a em na célula A1 de uma planilha.

    Dados

    Isto é um

    monte de células que

    se juntam

    para formar uma

    única sentença.

    Total de caracteres em A2:A6

    =SOMA(NÚM.CARACT(A2:A6))

    Conteúdo da maior célula (A3)

    =ÍNDICE(A6:A9,CORRESP(MÁX(NÚM.CARACT(A6:A9)),NÚM.CARACT(A6:A9),0),1)

  2. Selecione a célula A8 e pressione Ctrl+Shift+Enter para ver o número total de caracteres nas células A2:A6 (66).

  3. Selecione a célula A10 e pressione Ctrl+Shift+Enter para ver o conteúdo da maior célula A2:A6 (célula A3).

A seguinte fórmula usada na célula A8 conta o número total de caracteres (66) nas células A2 a A6.

=SOMA(NÚM.CARACT(A2:A6))

Neste caso, a função NÚM.CARACT retornará o comprimento de cada cadeia de texto em cada uma das células do intervalo. A função SOMA soma esses valores e exibe o resultado (66).

Localizar os n menores valores de um intervalo

Este exemplo mostra como localizar os três menores valores de um intervalo de células.

  1. Insira alguns números aleatórios nas células A1:A11.

  2. Selecione as células C1 a C3. Esse conjunto de células conterá os resultados retornados pela fórmula de matriz.

  3. Insira a fórmula a seguir e pressione Ctrl+Shift+Enter:

    =MENOR(A1:A11,{1;2;3})

Essa fórmula usa uma constante de matriz para avaliar a função MENOR três vezes e retornar os menores (1), o segundo menor (2) e o terceiro menor (3) membro na matriz contida nas células A1:A10. Para encontrar mais valores, adicione mais argumentos à constante. Você também pode usar funções adicionais com essa fórmula, como SOMA ou MÉDIA. Por exemplo:

=SOMA(MENOR(A1:A10,{1\2\3})

=MÉDIA(MENOR(A1:A10,{1\2\3})

Localizar os n maiores valores de um intervalo

Para localizar os maiores valores de um intervalo, você pode substituir a função MENOR pela função MAIOR. Além disso, o exemplo a seguir usa as funções LINHA e INDIRETO.

  1. Selecione as células D1 a D3.

  2. Na barra de fórmulas, insira esta fórmula e pressione Ctrl+Shift+Enter:

    =MAIOR(A1:A10,LIN(INDIRETO("1:3")))

Neste ponto, pode ser útil saber um pouco sobre as funções LINHA e INDIRETO. Você pode usar a função LINHA para criar uma matriz de números inteiros consecutivos. Por exemplo, selecione uma coluna vazia de 10 células na sua tabela de trabalho de exemplo, insira esta fórmula de matriz e pressione Ctrl+Shift+Enter:

=LINHA(1:10)

A fórmula cria uma coluna de 10 inteiros consecutivos. Para ver um possível problema, insira uma linha acima do intervalo que contém a fórmula de matriz (ou seja, acima da linha 1). O Excel ajustará as referências de linha e a fórmula irá gerar inteiros de 2 a 11. Para corrigir esse problema, adicione a função INDIRETO à fórmula:

=LINHA(INDIRETO("1:10"))

A função INDIRETO usa cadeias de texto como argumentos (é por isso que o intervalo 1:10 é colocado entre aspas duplas). O Excel não ajusta valores de texto quando você insere linhas ou move a fórmula de matriz de alguma outra maneira. Como resultado, a função LINHA sempre gera a matriz de inteiros desejada.

Vamos dar uma olhada na fórmula que você usou anteriormente — =MAIOR(A5:A14,LIN(INDIRETO("1:3"))) — começando pelos parênteses internos e indo para fora: a função INDIRETO retorna um conjunto de valores de texto, nesse caso, os valores de 1 a 3. A funçãoLIN gera uma matriz de coluna de três células. A funçãoMAIOR usa os valores no intervalo de células A5:A14 e é avaliada três vezes, uma vez para cada referência retornada pela função LIN. Os valores 3200, 2700 e 2000 são retornados à matriz de coluna de três células. Se quiser encontrar mais valores, adicione um maior intervalo de células à funçãoINDIRETO.

Como nos exemplos anteriores, você pode usar essa fórmula com outras funções, como SOMA e MÉDIA.

Localizar a cadeia de texto mais longa de um intervalo de células

Volte para o exemplo de cadeia de texto anterior, insira a seguinte fórmula em uma célula vazia e pressione Ctrl+Shift+Enter:

=ÍNDICE(A2:A6,CORRESP(MÁXIMO(NÚM.CARACT(A2:A6)),NÚM.CARACT(A2:A6),0),1)

O texto "várias células que" é exibido.

Vamos examinar mais detalhadamente a fórmula, começando dos elementos internos para os externos. A funçãoNÚM.CARACT retornará o comprimento de cada um dos itens no intervalo de células A2:A6. A função MÁXIMO calcula o maior valor entre esses itens, que corresponde à maior cadeia de texto, que está na célula A3.

É neste ponto que as coisas ficam um pouco mais complexas. A função CORRESP calcula o deslocamento (a posição relativa) da célula que contém a cadeia de texto mais longa. Para fazer isso, são necessários três argumentos: um valor de pesquisa, uma matriz de pesquisa e um tipo de correspondência. A função CORRESP procura na matriz de pesquisa o valor de pesquisa especificado. Neste caso, o valor de pesquisa é a cadeia de texto mais longa:

(MÁXIMO(NÚM.CARACT(A2:A6))

e essa cadeia de caracteres reside nesta matriz:

NÚM.CARACT(A2:A6)

O argumento tipo de correspondência é 0. O tipo de correspondência pode consistir em um valor 1, 0 ou -1. Se você especificar 1, CORRESP retornará o maior valor que seja menor ou igual ao valor de pesquisa. Se você especificar 0, CORRESP retornará o primeiro valor que seja exatamente igual ao valor de pesquisa. Se você especificar -1, CORRESP localizará o menor valor que seja maior ou igual ao valor de pesquisa especificado. Se você omitir um tipo de correspondência, o Excel adotará o valor 1.

Por fim, a função ÍNDICE opera com estes argumentos: uma matriz e um número de linha e de coluna nessa matriz. O intervalo de células A2:A6 fornece a matriz, a função CORRESP fornece o endereço da célula e o argumento final (1) especifica que o valor vem da primeira coluna da matriz.

Esta seção contém exemplos de fórmulas de matriz avançadas.

Somar um intervalo que contém valores de erro

A função SOMA do Excel não funciona quando você tenta somar um intervalo que contém um valor de erro, como #N/D. Este exemplo mostra como somar os valores em um intervalo chamado Dados que contém erros.

=SOMA(SE(ÉERROS(Dados),"",Dados))

A fórmula cria uma nova matriz contendo os valores originais menos quaisquer valores de erro. Das funções internas para as externas, a função ÉERROS pesquisa o intervalo de células (Dados) em busca de erros. A função SE retornará um valor específico se uma condição especificada for avaliada como VERDADEIRO e outro valor se ela for avaliada como FALSO. Neste caso, ela retorna cadeias de caracteres vazias ("") para todos os valores de erro, pois eles são avaliados como VERDADEIRO, e retorna os valores restantes do intervalo (Dados), pois eles são avaliados como FALSO, o que significa que eles não contêm valores de erro. Em seguida, a função SOMA calcula o total da matriz filtrada.

Contar o número de valores de erro em um intervalo

Este exemplo é semelhante à fórmula anterior, mas retorna o número de valores de erro em um intervalo chamado Dados em vez de filtrá-los:

=SOMA(SE(ÉERROS(Dados),1,0))

Essa fórmula cria uma matriz contendo o valor 1 para as células que contêm erros e o valor 0 para as que não contêm erros. Você pode simplificar a fórmula e obter o mesmo resultado removendo o terceiro argumento da função SE, da seguinte maneira:

SOMA(SE(ÉERROS(Dados),1))

Se você não especificar o argumento, a função SE retornará FALSO se uma célula não contiver um valor de erro. Você pode simplificar a fórmula ainda mais:

=SOMA(SE(ÉERROS(Dados)*1))

Essa versão funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Somar valores com base em condições

Talvez seja necessário somar valores com base em condições. Por exemplo, esta fórmula de matriz soma apenas os inteiros positivos em um intervalo chamado Vendas:

=SOMA(SE(Vendas>0,Vendas))

A função SE cria uma matriz de valores positivos e falsos. A função SOMA essencialmente ignora os falsos valores, pois 0+0=0. O intervalo de células que você usa nessa fórmula pode consistir em qualquer número de linhas e colunas.

Você também pode somar valores que atendam a mais de uma condição. Por exemplo, esta fórmula de matriz calcula valores maiores que 0 e menores ou iguais a 5:

=SOMA((Vendas>0)*(Vendas<=5)*(Vendas))

Lembre-se de que essa fórmula retornará um erro se o intervalo contiver uma ou mais células não numéricas.

Você também pode criar fórmulas de matriz que usem um tipo de condição OU. Por exemplo, você pode somar valores que sejam menores que 5 e maiores que 15:

=SOMA(SE((Vendas<5)+(Vendas>15),Vendas))

A função SE localiza todos os valores menores que 5 e maiores que 15 e passa esses valores para a função SOMA.

Não é possível usar as funções E e OU diretamente em fórmulas de matriz, pois essas funções retornam um único resultado, VERDADEIRO ou FALSO, e as funções de matriz exigem matrizes de resultados. Você pode contornar o problema usando a lógica mostrada na fórmula anterior. Em outras palavras, execute operações matemáticas, como adição ou multiplicação, em valores que atendam à condição OU ou E.

Calcular uma média que exclua zeros

Este exemplo mostra como remover zeros de um intervalo quando você precisar calcular a média dos valores desse intervalo. A fórmula usa um intervalo de dados chamado Vendas:

=MÉDIA(SE(Vendas<>0,Vendas))

A função SE cria uma matriz de valores que não são iguais a 0 e passa esses valores para a função MÉDIA.

Contar o número de diferenças entre dois intervalos de células

Esta fórmula de matriz compara os valores de dois intervalos de células chamados MeusDados e SeusDados e retorna o número de diferenças entre os dois. Se o conteúdo dos dois intervalos for idêntico, a fórmula retornará 0. Para usar esta fórmula, os intervalos de células devem ter o mesmo tamanho e a mesma dimensão (por exemplo, se MeusDados for um intervalo de 3 linhas por 5 colunas, o intervalo SeusDados deverá ter o mesmo tamanho):

=SOMA(SE(MeusDados=SeusDados,0,1))

A fórmula criará uma nova matriz do mesmo tamanho dos intervalos que você está comparando. A função SE preencherá a matriz com o valor 0 e o valor 1 (0 para células que não correspondam e 1 para células idênticas). Em seguida, a função SOMA retornará a soma dos valores da matriz.

Você pode simplificar a fórmula deste modo:

=SOMA(1*(MeusDados<>SeusDados))

Como a fórmula que conta valores de erro em um intervalo, essa fórmula funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Localizar o valor máximo em um intervalo

Esta fórmula de matriz retorna o número de linha do valor máximo em um intervalo de uma única coluna chamado Dados:

=MÍN(SE(Dados=MÁX(Dados),LINHA(Dados),""))

A função SE cria uma nova matriz que corresponde ao intervalo chamado Dados. Se uma célula correspondente contiver o valor máximo no intervalo, a matriz conterá o número da linha. Caso contrário, a matriz conterá uma cadeia de caracteres vazia (""). A função MÍN usa a nova matriz como segundo argumento e retorna o menor valor, que corresponde ao número da linha do valor máximo em Dados. Se o intervalo chamado Dados contiver valores máximos idênticos, a fórmula retornará a linha do primeiro valor.

Para retornar o endereço de célula real de um valor máximo, use esta fórmula:

=ENDEREÇO(MÍN(SE(Dados=MÁX(Dados),LINHA(Dados),"")),COLUNA(Dados))

Reconhecimento

Partes deste artigo foram baseadas em uma série de colunas do Excel para Usuários Avançados escritas por Colin Wilcox e adaptadas dos capítulos 14 e 15 das fórmulas do Excel 2002, um livro escrito por John Walkenbach, ex-MVP do Excel.

Precisa de mais ajuda?

Você pode sempre consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.

Confira também

Comportamento de matrizes despejadas e matrizes dinâmicas

Fórmulas de matriz dinâmica versus fórmulas de matriz CSE herdada

Função FILTRO

Função MATRIZALEATÓRIA

Função SEQUÊNCIA

Função CLASSIFICAR

Função CLASSIFICARPOR

Função ÚNICO

Erros #DESPEJAR! no Excel

Operador de interseção implícita: @

Visão geral das fórmulas

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.