Esta seção apresenta as fórmulas de matriz e explica como inseri-las, editá-las e solucionar problemas relativos a elas.
Se tiver experiência no uso de fórmulas do Excel, você saberá que pode executar algumas operações bastante sofisticadas. Por exemplo, é possível calcular o custo total de um empréstimo ao longo de um dado número de anos. Porém, para realmente dominar as fórmulas do Excel, você precisa saber como usar fórmulas de matriz. Elas podem ser usadas para executar tarefas complexas como, por exemplo:
Observação As fórmulas de matriz podem ser chamadas de "fórmulas CSE", porque você pressiona CTRL+SHIFT+ENTER para inseri-las nas pastas de trabalho.
Se tiver alguma experiência em programação, ainda que mínima, você provavelmente já ouviu o termo matriz. No nosso caso, matriz é um conjunto de itens. No Excel, esses itens podem estar em uma única linha (chamada de matriz horizontal unidimensional), em uma coluna (matriz vertical unidimensional) ou em várias linhas e colunas (matriz bidimensional). Não é possível criar matrizes tridimensionais ou fórmulas de matriz no Excel.
Uma fórmula de matriz é capaz de executar vários cálculos em um ou mais dos itens de uma matriz. As fórmulas de matriz podem retornar vários resultados ou um único resultado. Por exemplo, você pode colocar uma fórmula de matriz em um intervalo de células e usá-la para calcular uma coluna ou linha de subtotais. Também é possível colocar uma fórmula de matriz em uma única célula e calcular um único valor. No primeiro caso, temos a chamada fórmula de várias células; já o segundo tipo é conhecido como fórmula de uma célula.
Copie os dados da planilha de exemplo e cole-os na nova pasta de trabalho, começando na célula A1.
Use o botão Opções de Colagem exibido próximo para fazer correspondência com a formatação de destino.
Para multiplicar os valores da matriz (o intervalo de células de C2 a D11), selecione as células E2 a E11 e insira a seguinte fórmula na barra de fórmulas: =C2:C11*D2:D11
O Excel coloca a fórmula entre chaves ({ }) e coloca uma instância da fórmula em cada célula do intervalo selecionado. Isso acontece muito depressa, por isso, o que você vê na coluna E é o valor total das vendas de cada tipo de carro para cada vendedor.
Na célula B13, digite a seguinte fórmula 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$ 111.800 em vendas. Esse exemplo mostra como esse tipo de fórmula pode ser eficiente. Por exemplo, vamos supor que você tenha 15.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.
Além disso, observe que a fórmula de uma célula (na célula B13) é completamente independente da fórmula de várias células (a fórmula nas células E2 a E11). Isso demonstra outra vantagem de usar fórmulas de matriz — flexibilidade. Você pode executar diversas ações, como alterar as fórmulas na coluna E ou excluir toda a coluna, sem afetar a fórmula de uma célula.
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 que você criou para este exercício usa uma fórmula de matriz para calcular os resultados na coluna E. Se tivesse usado fórmulas padrão (como =C2*D2), 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 é possível usar qualquer uma das funções internas do Excel nas fórmulas de matriz. A principal diferença é que, quando se usa uma fórmula de matriz, é necessário pressionar 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á.
O próximo aspecto que você precisa entender é que as funções de matriz são uma forma de taquigrafia. Por exemplo, a função de várias células que você usou anteriormente é o equivalente de:=C2*D2=C3*D3
e assim por diante. A fórmula de uma célula na célula B13 condensa todas essas operações de multiplicação, mais a aritmética necessária para somar esses subtotais: =E2+E3+E4 e assim por diante.
Vale a pena repetir a principal regra para criar uma fórmula de matriz: pressione CTRL+SHIFT+ENTER sempre que você precisar inserir ou editar uma fórmula de matriz. Essa regra se aplica tanto a fórmulas de uma célula quanto de várias células.
Sempre que trabalhar com fórmulas de várias células, você também precisará seguir estas regras:
É necessário selecionar o intervalo de células que receberá os resultados antes de inserir a fórmula. Você fez isso na etapa 3 do exercício de fórmula de várias células quando selecionou 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 tentar fazer isso, selecione a célula E3 na pasta de trabalho de exemplo e pressione DELETE.
Você pode mover ou excluir uma fórmula de matriz inteira, mas não pode mover ou excluir parte dela. Em outras palavras, para reduzir uma fórmula de matriz, primeiro exclua a fórmula existente e então comece do zero.
Dica Para excluir uma fórmula de matriz, selecione a fórmula inteira (por exemplo, =C2:C11*D2:D11), pressione DELETE e pressione CTRL+SHIFT+ENTER.
Às vezes, pode ser necessário expandir uma fórmula de matriz. (Lembre-se de que não é possível reduzir uma fórmula de matriz.) O processo não é complicado, mas você precisa se lembrar das regras listadas na seção anterior.
Na pasta de trabalho de exemplo, limpe o texto e as fórmulas de uma célula localizadas abaixo da tabela principal.
Cole estas linhas de dados adicionais na pasta de trabalho, começando na célula A12. Use o botão Opções de Colagem exibido próximo para fazer correspondência com a formatação de destino.
Na barra de fórmulas, altere C11 para C17, altere D11 para D17 e pressione CTRL+SHIFT+ENTER. O Excel atualizará a fórmula nas células E2 a E11 e colocará uma instância da fórmula nas novas células, E12 a E17. Desvantagens de usar fórmulas de matriz
Pode acontecer de você se esquecer de pressionar CTRL+SHIFT+ENTER. Lembre-se de pressionar essa combinação de teclas sempre que inserir ou editar uma fórmula de matriz.
Outros usuários podem não entender as fórmulas. Na prática, normalmente não há documentação sobre as fórmulas de matriz em uma planilha; por isso, se outros usuários precisarem modificar suas pastas de trabalho, evite fórmulas de matriz ou verifique se esses usuários sabem como alterá-las.
Para obter mais informações sobre como trabalhar com fórmulas de matriz, consulte os seguintes tópicos:
Início da páginaAprender sobre constantes de matriz
As constantes de matriz são um componente das fórmulas de matriz. Você cria constantes de matriz inserindo uma lista de itens e colocando a lista entre chaves manualmente ({ }), como se segue:
Anteriormente neste artigo, nós enfatizamos a necessidade de pressionar CTRL+SHIFT+ENTER ao criar fórmulas de matriz. Como as constantes de matriz são um componente das fórmulas de matriz, coloque as constantes entre chaves digitando-as manualmente. Em seguida, use CTRL+SHIFT+ENTER para inserir a fórmula inteira.
Se delimitar (separar) os itens usando vírgulas, você criará uma matriz horizontal (uma linha). Se delimitar os itens usando ponto-e-vírgulas, você criará 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.
Como nas fórmulas de matriz, você pode usar as constantes de matriz com quaisquer das funções internas que o Excel oferece. As seções a seguir explicam como criar cada tipo de constante e como usar essas constantes com funções no Excel.Criar constantes unidimensionais e bidimensionais
O procedimento a seguir oferece alguma prática na criação de constantes horizontais, verticais e bidimensionais. Criar uma constante horizontal
Na barra de fórmulas, insira a seguinte fórmula e pressione CTRL+SHIFT+ENTER: ={1,2,3,4,5}
Talvez você fique imaginando por que não pode digitar os números manualmente. A seção Usar constantes em fórmulas, mais adiante neste artigo, demonstra as vantagens de usar constantes de matriz.
Na barra de fórmulas, insira a seguinte fórmula e pressione CTRL+SHIFT+ENTER: ={1;2;3;4;5}
Na pasta de trabalho, selecione um bloco de células de quatro colunas de largura e três linhas de altura. Na barra de fórmulas, insira a seguinte fórmula e pressione CTRL+SHIFT+ENTER: ={1,2,3,4;5,6,7,8;9,10,11,12}
O seguinte resultado será exibido: Usar constantes em fórmulas Agora que você está familiarizado com a inserção de constantes de matriz, aqui vai um exemplo simples que usa o que acaba de ser descrito:
Copie a tabela a seguir, começando na célula A1. Use o botão Opções de Colagem exibido próximo para fazer correspondência com a formatação de destino.
Na célula A3, insira a seguinte fórmula 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. O valor 85 será exibido na célula A3. A próxima seção explica como a fórmula funciona.
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 constantes de matriz entre chaves; você precisa fazê-lo. Lembre-se também de que, depois de adicionar uma constante a uma fórmula de matriz, você pressiona CTRL+SHIFT+ENTER para inserir a fórmula.
Por fim, a função SOMA somará os valores e o resultado 85 será exibido na célula A3:
Para tentar 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}).
Elementos que podem ser usados em constantes 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 incluir texto, você terá que colocá-lo entre aspas duplas (").
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 que sejam 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, os valores numéricos não podem conter sinais de percentual, cifrões, vírgulas ou parênteses.
Talvez o melhor modo de usar constantes de matriz seja nomeá-las. As constantes nomeadas podem ser muito mais fáceis de usar e escondem um pouco da complexidade das fórmulas de matriz dos usuários principiantes. Para nomear uma constante de matriz e usá-la em uma fórmula, siga este procedimento:
Na caixa Refere-se a, insira a seguinte constante (lembre-se de digitar as chaves manualmente): ={"Janeiro","Fevereiro","Março"}
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. Para concluir, lembre-se de que você pode usar combinações de texto e números.
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 tenham uma célula correspondente.
Digite a seguinte fórmula de matriz e pressione CTRL+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}
Início da páginaColocando fórmulas de matriz básicas para funcionar
Abra uma pasta de trabalho existente ou crie uma pasta de trabalho nova, que precisa conter duas planilhas em branco.
Copie os dados da tabela abaixo e cole-os na planilha, começando na célula A1.
vivo viver
Sua planilha concluída deve ter esta aparência:
Nomeie a primeira planilha como Dados e uma segunda planilha em branco como Matrizes.
A fórmula é vinculada aos valores armazenados nas células E1 a G3 na planilha Dados. A alternativa para essa fórmula de matriz de várias células é colocar uma fórmula única em cada célula da planilha Matrizes, desta forma:
Se você alterar alguns dos valores na planilha Dados, essas alterações serão exibidas na planilha Matrizes. Lembre-se de que, para alterar qualquer valor na planilha Dados, você precisa seguir as regras para editar fórmulas de matriz. Para obter mais informações sobre essas regras, consulte a seção Aprender sobre fórmulas de matriz.
Pressione F9 para converter as referências de célula em valores. O Excel converterá os valores em uma constante de matriz.
O Excel substituirá a fórmula de matriz =Dados!E1:G3 pela seguinte constante de matriz:
O vínculo entre as planilhas Dados e Matrizes foi desfeito e a fórmula de matriz foi substituída por uma constante de matriz.
Na planilha Dados, insira a fórmula a seguir na célula C7 e pressione CTRL+SHIFT+ENTER: =SOMA(NÚM.CARACT(C1:C5))
O valor 47 será exibido na célula C7.
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 somará esses valores e exibirá o resultado na célula que contém a fórmula, C7.
Os valores 400, 475 e 500 serão exibidos nas células A12 a A14, respectivamente.
Na barra de fórmulas, insira a seguinte fórmula e pressione CTRL+SHIFT+ENTER: =MAIOR(A1:A10,LINHA(INDIRETO("1:3")))
Os valores 3200, 2700 e 2000 serão exibidos nas células A12 a A14, respectivamente.
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 inteiros consecutivos. Por exemplo, selecione uma coluna vazia de 10 células na pasta de trabalho do exercício, insira esta fórmula de matriz nas células A1:A10 e pressione CTRL+SHIFT+ENTER:
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"))
Vamos examinar a fórmula que você usou anteriormente — =MAIOR(A1:A10,LINHA(INDIRETO("1:3"))) — dos parênteses internos para os externos: a função INDIRETO retorna um conjunto de valores de texto, neste caso os valores 1 a 3. A função LINHA, por sua vez, gera uma matriz colunar de três células. A função MAIOR usa os valores no intervalo de células A1:A10 e é avaliada três vezes, uma vez para cada referência retornada pela função LINHA. Os valores 3200, 2700 e 2000 são retornados para a matriz colunar de três células. Para localizar mais valores, adicione um intervalo de células maior à função INDIRETO.
Este exemplo localiza a cadeia de texto mais longa de um intervalo de células. Esta fórmula só funcionará quando um intervalo de dados contiver uma única coluna de células.
Na planilha Dados, limpe a fórmula existente da célula C7, insira a seguinte fórmula nessa célula e pressione CTRL+SHIFT+ENTER: =ÍNDICE(C1:C5,CORRESP(MÁX(NÚM.CARACT(C1:C5)),NÚM.CARACT(C1:C5),0),1)
O valor vivo viver será exibido na célula C7. Vamos examinar a fórmula, dos elementos internos para os externos. A função NÚM.CARACT retorna o comprimento de cada um dos itens do intervalo de células C1:C5. A função MÁX calcula o maior valor entre esses itens, que corresponde à cadeia de texto mais longa, que está na célula C3.
(MÁX(NÚM.CARACT(C1:C5))
e essa cadeia de caracteres reside nesta matriz: NÚM.CARACT(C1:C5)
Para concluir, a função ÍNDICE opera com estes argumentos: uma matriz e um número de linha e coluna dentro dessa matriz. O intervalo de células C1:C5 fornece a matriz, a função CORRESP fornece o endereço de célula e o argumento final (1) especifica que o valor vem da primeira coluna da matriz. Início da páginaColocando fórmulas de matriz avançadas para funcionar
=SOMA(SE(ÉERRO(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 ÉERRO 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.
=SOMA(SE(ÉERRO(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 conseguir o mesmo resultado removendo o terceiro argumento da função SE, deste modo:
SOMA(SE(ÉERRO(Dados),1))
=SOMA(SE(ÉERRO(Dados)*1))
Você pode precisar somar valores com base em condições. Por exemplo, esta fórmula de matriz soma apenas os inteiros positivos de um intervalo chamado Vendas:
Importante 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.
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: