formulas matriciais - a outra dimensão do excel

29
Boletim nº34 FÓRMULAS MATRICIAIS Excellencia Soluções em VBA www.tudosobrexcel.com Página : 1 / 29

Upload: mgcu72

Post on 25-Jul-2015

653 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 1 / 31

Page 2: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 2 / 31

Page 3: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 3 / 31

FÓRMULAS MATRICIAIS

1 - INTRODUÇÃO

O excel, a princípio, foi criado para resolver o problema de muitos, que com suas cálculadoras efetua-

vam enormes cálculos e traduziam os complexos resultados para planilhas manuais. Estes cálculos

eram tão importantes que várias tomadas de decisões eram neles baseados. Agora, imagine você

se alguns destes cálculos estivessem errados ! Muitos negócios poderiam ser prejudicados e quantos

prejuízos poderiam ser gerados nas empresas.

E realmente foi isso que o excel fez, minimizou o problema de muitos com a inserção de funções para

a criação de fórmulas, e o que é melhor , não prender o usuário a um padrão, ou seja, no excel cada

um cria fórmulas com a função que desejar, desde que o resultado seja correto.

A Microsoft percebendo o sucesso de seu aplicativo, e percebendo que algumas fórmulas criadas es-

tavam tornando-se complexas demais, resolveu simplificar tudo isso, e aí nasceu as fómulas matricia-

is.

Podemos dizer então que fórmulas matriciais é o que mais avançado existe de no tocante a fórmulas,

e você que estudará este tutorial se destacará em qualquer meio que suas fórmulas forem apresenta-

das.

2 - DEFININDO FÓRMULA E FUNÇÕES

2.1 - Fórmulas

Fórmulas são equações que executam cálculos sobre valores na planilha. Uma fórmula também pode

2.2 - Funções

Funções são fórmulas predefinidas que efetuam cálculos usando valores específicos, denominados

argumentos, em uma determinada ordem ou estrutura. As funções podem ser usadas para executar

cálculos simples ou Complexos.

Vamos citar como exemplo a função Arred( ):

conter quaisquer dos seguintes itens: funções, referências, operadores e constantes.

Page 4: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 4 / 31

Estrutura de uma função:

da função, um parêntese aberto, os argumentos da função separados por vírgulas e um parêntese de

fechamento.

sione SHIFT+F3.

ou FALSO, matrizes , valores de erro como #N/D ou referências de célula. O argumento que você

atribuir deve produzir um valor válido para esse argumento. Os argumentos também podem ser cons-

tantes, fórmulas ou outras funções.

bida à medida que você digita a função. Por exemplo, digite =ARRED( e a dica de ferramenta apare-

cerá. As dicas de ferramenta são exibidas somente para funções internas.

Inserir fórmulas:

Quando você cria uma fórmula que contém uma função, a caixa de diálogo Inserir função ajuda você

a inserir funções de planilha. Enquanto você digita uma função na fórmula, a caixa de diálogo Inserir

função exibe seu nome, cada um de seus argumentos, as descrições, seu resultado atual e o resulta-

do atual da fórmula inteira.

Funções Aninhadas:

Em determinados casos, é possível você precise usar uma função como um dos argumentos de outra

função. Por exemplo, a fórmula a seguir usa uma função aninhada MÉDIA e compara o resultado com

o valor 50.

Estrutura. A estrutura de uma função começa com um sinal de igual (=), seguido do nome

Nome da função. Para obter uma lista das funções disponíveis, clique em uma célula e pres -

Argumentos. Os argumentos podem ser números, texto, valores lógicos, como VERDADEIRO

Dica de ferramenta Argumentos. Uma dica de ferramenta com a sintaxe e argumentos é exi-

Page 5: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 5 / 31

Quando uma função aninhada é usada como argumento, ela deve retornar o mesmo tipo de valor

utilizado pelo argumento. Por exemplo, se o argumento retornar um valor VERDADEIRO ou FALSO,

a função aninhada deverá retornar VERDADEIRO ou FALSO. Se não retornar, o Microsoft Excel exib-

Uma fórmula pode conter até sete níveis de funções aninhadas. Quando a Função B for usada como

argumento na Função A, a Função B será de segundo nível. Por exemplo, as funções MÉDIA e SO-

MA são de segundo nível, pois são argumentos da função SE. Uma função aninhada na função MÉ-

DIA seria de terceiro nível, e assim por diante.

Referências em Fórmulas:

Uma referência identifica uma célula ou um intervalo de células em uma planilha e informa ao Micro-

soft Excel onde procurar pelos valores ou dados a serem usados em uma fórmula. Com referências,

você pode usar dados contidos em partes diferentes de uma planilha em uma fórmula ou usar o valor

de uma célula em várias fórmulas. Você também pode se referir a células de outras planilhas na mes-

ma pasta de trabalho e a outras pastas de trabalho. Referências às células de outras pastas de tra-

balho são chamadas vínculos.

Referências Relativas e Referências Absolutas:

tém a fórmula e da célula à qual a referência se refere. Se a posição da célula que contém a fórmu-

la se alterar, a referência será alterada. Se você copiar a fórmula ao longo de linhas ou colunas,

a referência se ajustará automaticamente. Por padrão, novas fórmulas usam referências relativas.

Por exemplo, se você copiar uma referência relativa que está na célula B2 para a célula B3, a referên

cia será automaticamente ajustada de =A1 para =A2.

um local específico. Se a posição da célula que contém a fórmula se alterar, a referência absoluta

permanecerá a mesma. Se você copiar a fórmula ao longo de linhas ou colunas, a referência absoluta

não se ajustará. Por padrão, novas fórmulas usam referências relativas e você precisa trocá-las para

referências absolutas. Por exemplo, se você copiar uma referência absoluta na célula B2 para a célu-

la B3, ela permanecerá a mesma em ambas as células =$A$1.

irá um valor

Uma referência relativa em uma fórmula, como A1, é baseada na posição relativa da célula que con-

Uma referência absoluta de célula em uma fórmula, como $A$1, sempre se refere a uma célula em

Page 6: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 6 / 31

Uma referência de coluna absoluta tem o formato $A1, $B1 e assim por diante. Uma referência de

linha absoluta tem o formato A$1, B$1 e assim por diante. Se a posição da célula que contém a fór-

mula se alterar, a referência relativa será alterada e a referência absoluta não se alterará. Se você co-

piar a fórmula ao longo de linhas ou colunas, a referência relativa se ajustará automaticamente e a

referência absoluta não se ajustará. Por exemplo, se você copiar uma referência mista da célula A2

para B3, ela se ajustará de =A$1 para =B$1.

Utilizando Nomes Em Células:

Um nome definido em uma fórmula pode facilitar a compreensão do objetivo da fórmula. Por exemplo,

=SOMA(C20:C30).

Os nomes estão disponíveis em qualquer planilha. Por exemplo, se o nome VendasProjetadas referir-

se ao intervalo A20:A30 na primeira planilha de uma pasta de trabalho, você poderá usar o nome

VendasProjetadas em qualquer outra planilha da mesma pasta de trabalho para referir-ao intervalo

A20:A30 na primeira planilha.

Os nomes também podem ser usados para representar fórmulas ou valores que não se alteram

(constantes). Por exemplo, você pode usar o nome ImpostoVendas para representar o valor do impos-

to sobre vendas (como 6,2 por cento) aplicado às transações de vendas.

Você também pode vincular a um nome definido em outra pasta de trabalho ou definir um nome que

se refira a células em outra pasta de trabalho.

Por exemplo, a fórmula =SOMA(Vendas.xls!VendasProjetadas) refere-se ao intervalo nomeado

VendasProjetadas na pasta de trabalho chamada Vendas.

Diretrizes para nomes:

blinhado. Os demais caracteres no nome podem ser letras, números, pontos e sublinhado.

célula, como Z$100 ou L1C1.

sublinhado e os pontos podem ser usados como separadores de palavras — por exemplo,

Uma referência mista tem uma coluna absoluta e linha relativa, ou linha absoluta e coluna relativa.

a fórmula =SOMA(PrimeiroTrimestreVendas) talvez seja mais fácil de identificar do que

Quais são os caracteres permitidos? O primeiro caractere de um nome deve ser uma letra ou um su-

Nomes podem ser referências de células? Os nomes não podem ser iguais a uma referência de

É possível usar mais de uma palavra? Sim, mas espaços não são permitidos. Os caracteres de

Page 7: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 7 / 31

Imposto_Vendas ou Primeiro.Trimestre.

minúsculas. O Microsoft Excel não faz distinção entre caracteres maiúsculos e minúsculos em nomes

Por exemplo, se você tinha criado o nome Vendas e, em seguida, criou outro nome chamado

VENDAS na mesma pasta de trabalho, o segundo nome substituirá o primeiro.

3 - DEFININDO FÓRMULA MATRICIAIS

Uma fórmula que executa vários cálculos em um ou mais conjuntos de valores e retorna um único re-

sultado ou vários resultados. As fórmulas de matriz ficam entre chaves { } e são inseridas pression-

ando CTRL+SHIFT+ENTER.).

Fórmulas matriciais agem sobre um ou mais conjuntos de valores, que são conhecidos como argu -

mentos de matriz. Cada argumento de matriz deve ser retangular e cada argumento precisa ter o

mesmo número de linhas e/ou o mesmo número de colunas que os outros argumentos.

Além de pouco utilizado, por parecer muito complexo, é um recurso que quase ninguém conhece, mas

a partir de agora você que está estudando este tutorial se tornará um expert e sempre recorrerá a e -

las em seus trabalhos, destacando-se dentre muitos.

Muitos, por preferência, não utilizam o VBA para automatizar suas planilhas, o que acho um erro, en -

tão as fórmulas matriciais é a melhor maneira para suprir algumas deficiências das fórmulas tradicio-

nais.

4 - CRIANDO FÓRMULA MATRICIAIS

Aprender a criar fórmulas no Excel é igual a resolver equações de matemática, nada como muitos e -

xercicíos para se tornar um expert.

Vamos dividir as fórmulas por categoria para facilitar o entendimento:

CRIANDO EXPRESSÕES

CRIANDO FÓRMULAS MATRICIAIS COM CONSTANTES

CRIANDO FÓRMULAS MATRICIAIS PARA ANÁLISE DE DADOS

TRABALHANDO COM DATAS E FÓRMULAS MATRICIAIS

OUTRAS UTILIZAÇÕES DAS FÓRMULA MATRICIAIS

Quantos caracteres podem ser usados? Os nomes podem conter até 255 caracteres.

Os nomes diferenciam maiúsculas de minúsculas? Os nomes podem conter letras maiúsculas e

Page 8: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 8 / 31

4.1 - CRIANDO EXPRESSÕES

1º Exemplo

Criaremos a seguir uma série de fórmulas ideal para quem trabalho em depto. pessoal e precisa

administrar seus dados no Excel

Vamos primeiramente criar uma tabela com os seguintes dados: Nome, Depto. Qualificação e Salá-

rio

Criaremos duas consultas: a 1ª verificará quais os funcionários estão alocados no depto de Com-

pras, e a 2ª verificará quais são qualificados na categoria "Q1".

Nome Depto Qualif Salario 1 2 3

Carlos Compras Q1 R$ 2,000.00 1 1 1

Romeu Estoque Q2 R$ 2,000.00 0 0 0

Martin Fabrica Q3 R$ 800.00 0 0 0

Alberto Compras Q2 R$ 2,000.00 1 0 0

Doremi Compras Q1 R$ 2,000.00 1 1 1

Mermoz Estoque Q1 R$ 2,000.00 0 1 0

Balu Compras Q2 R$ 2,000.00 1 0 0

Boresco Fabrica Q3 R$ 2,000.00 0 0 0

Delpont Compras Q4 R$ 2,000.00 1 0 0

A utilização de expressões Matriciais agilizam muito a construção de fórmulas idênticas para diver-

sas linhas. Na 1ªlinha da coluna que receberá as fórmulas digite a expressão, no nosso caso:

"=B2:B10="Compras"", esta expressão fará uma análise no intervalo de 2 a 10 para verificar se o

texto digitado é "Compras". Após a digitação selecione esta linha até a última linha que receberá

a expressão, nosso exemplo 10. Com a região selecionada vá até a barra de fórmulas , selecione

a fórmula e pressione simultaneamente as teclas Ctrl + Shit + Enter e pronto nossa expressão matri-

cial será criada automaticamente. Repita a operação para a 2ª e 3ª consultas, você irá se surpreen-

der com o resultado!

Na primeira e segunda consulta se os critérios satisfazem a expressão o termo "Verdadeiro" é retor-

nado, senão "Falso". Já na 3ª consulta se as duas colunas satisfizerem os critérios o valor 1 será re-

tornado senão zero.

=D213:D221="Compras" =E213:E221="Q1" =H213:H213*I213:i2210

Page 9: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 9 / 31

Todo o segredo das fórmulas matriciais estão no pressionamento simultâneo das teclas Ctrl+Shift-

Enter da expressão digitada!

Podemos ainda incrementar ainda mais a equação consolidando todas expressões:

Nº Compras em Q1

2

Somar Salarios Compras em Q1

R$ 2,000.00

2º Exemplo

Para incrementar mais um pouco a fórmula utilizaremos agora 2 critérios de consulta, o depto. e a

Qualificação.

Escolha o Depto. Compras

Escolha a Qualificação Q2

NºDepto. em Qual. 2

Soma Depto. Em Q1 4,000.00

3º Exemplo

Vamos tornar nossa consulta um pouco mais complexa, incrementando com a data de nascimento dos

funcionários:

Nome Depto. Qualif Salário Nascimento

Carlos Compras Q1 2,000.00 13/12/50

Romeu Estoque Q2 4,000.00 14/12/50

Efetuando operações om vetores e matrizes.

Pessoal do Depto Com Qualificação "Q1"=SOMARPRODUTO((D213:D221="Compras")*(E213:E221="Q1"))

ou=SOMARPRODUTO((D213:D221<>"Compras")*(E213:E221="Q1")*F213:F221)

=SOMARPRODUTOS((B2:B10=H1)*(C2:C10=H2))

=SOMARPRODUTOS((B2:B10=H1)*(C2:C10=H2)*D2:D10)

Page 10: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 10 / 31

Martin Fabric Q3 2,000.00 15/12/60

Alberto Compras Q2 2,000.00 16/12/60

Doremi Compras Q1 2,000.00 17/12/60

Mermoz Estoque Q1 3,000.00 18/12/50

Balu Compras Q2 2,000.00 19/12/50

Boresco Fabric Q3 2,000.00 20/12/50

Delpont Compras Q4 2,000.00 21/12/50

Utilizaremos agora fórmulas para pesquisarmos nomes e funcionários que começar com uma deter-

minada letra e também que nasceram num determinado ano, tudo graças às formulas matriciais.

4,000.00

4,000.00

2

2

6

6

3,500

Podemos utilizar a mesma tabela para somar os salários de funcionários de um ou mais departamen-

tos.

17,000.00

A seguir vamos verificar se um mais funcionário pertece à lista de funcionários:

Soma dos salários das Pessoas que começam com a letra D{=SOMA((ESQUERDA(E275:E283)="D")*H275:H283)} Para validar Tecle Cotrl+Shift+Enterou{=SOMA(SE(ESQUERDA(E275:E283;1)="D";H275:H283;0))} Para validar Tecle Cotrl+Shift+Enter

Nº de pessoas que começas com letra D{=SOMA((ESQUERDA(E275:E283)="D")*1)} Para validar Tecle Cotrl+Shift+Enterou{=SOMA(SE(ESQUERDA(E275:E283;1)="D";1;""))}

Nº de pessoas que nasceram em 1950{=SOMA((ANO(I275:I283)=1950)*1)}ou{=SOMA(SE(ANO(I275:I283)=1950;1;0))}

{=MÉDIA(SE(H275:H283>2000;H275:H283;""))} Para validar Tecle Cotrl+Shift+Enter

=SOMA(((Depto="Compras")+(Depto="Estoque"))*SalárioValidar Ctrl+Shift+Enter

Page 11: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 11 / 31

Sim

4º Exemplo

Nosso próximo exemplo é uma amostra de valores com previsão de recebimento e datas de efetivo

recebimento. Vamos então criar fórmulas para verificar quanto foram recebidos no devido vencimento

e a soma desses valores.

Fatura Previsão Real Valores

1 01/06/06 01/06/06 1,000.00

2 02/06/06 02/06/06 1,000.00 2 Duas faturas foram pagas no vecto.

3 03/06/06 03/06/06 1,000.00 2,000.00 Soma das duas faturas

4 04/06/06 04/06/06 1,000.00

5 05/06/06 05/06/06 1,000.00

6 06/06/06 08/06/06 1,000.00

7 07/06/06 07/06/06 1,000.00

8 08/06/06 10/06/06 1,000.00

A fórmula acima é ideal para o depto. financeiro

5º Exemplo

Criaremos agora uma fórmula para simular o controle de estoque de uma empresa. Com uma tabela

que controla a quantidade em estoque cada cada produto, vamos criar uma fórmula matricial que irá

inventariar os bens em estoque.

Codigo Qte Codigo Qte Codigo Qte Codigo Total

Prod1 2 Prod1 2 Prod1 2 Prod1 10

Prod2 2 Prod2 2 Prod2 2 Prod2 6

Prod3 2 Prod3 2 Prod3 2 Prod3 6

Prod4 2 Prod4 2 Prod4 2 Prod4 6

Prod5 2 Prod1 2 Prod5 2 Prod5 4

Prod6 2 Prod6 2 Prod1 2 Prod6 4

Prod7 2 Prod7 2 Prod7 2 Prod7 6

Prod8 2 Prod8 2 Prod8 2 Prod8 6

=SE(SOMA((nome="martin")*(Qualif="q3")*1)>0;"Sim";"Não")Validar Ctrl+Shift+Enter

Nb de pagtos real>pagtos previstos=SOMARPRODUTO((Real>Previsão)*1)Valores=SOMARPRODUTO((Real>Previsão)*Valores)

Page 12: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 12 / 31

Esta fórmula é ótima, pois economiza muitas funções como "Cont.Se", "Somase" e até mesmo "Se"

que teríamos que utilizar para conseguir os mesmos resultados.

Vamos criar mais um exemplo agora com valores:

Valores Código

900.00 AB 3

2,000.00 A

3,000.00 B

4,000.00 CAK

5,000.00 B

6,000.00 KLM

7,000.00 CA

4.2 - CRIANDO FÓRMULAS MATRICIAIS COM CONSTANTES

O que é Uma Constante ?

Um item nomeado que mantém um valor constante por toda a execução de uma fórmula.

Uma constante pode ser uma literal de seqüência de caracteres ou numérica, uma outra constante ou

qualquer combinação que inclua operadores aritméticos ou lógicos.

Como Criar Uma Constante:

Criaremos uma constante numa coluna com quatro linhas.

Na primeira linha desta coluna digite "={1;2;3;4}", sim digite as chaves também !

Quando você "arrastar para a segunda, terceira e quarta linha todas células ficarão preenchidas com

o número 1, que o primeiro valor da constante. Agora entra a fórmula matricial, selecione as quatro

linhas e na barra de fórmulas pressione Ctrl+Shift+Enter. O resultado será que cada linha será preen-

chida com um numéro da constante, ou seja 1,2,3 e 4. Se você "arrastar" por mais de 4 linha um erro

será gerado pois a constante só permite 4.

Totaliza-se as quantidades por produto =SOMARPRODUTO((C339:G346=J339)*(N(DESLOC(C339:G346;;1))))

Nº de linhas com montantes >800 e código que começas com a letra B

=SOMARPRODUTO(ÉNÚM(LOCALIZAR("B";Código))*(Valores>800))

Page 13: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 13 / 31

1 1

1 2

1 3

1 4

Exemplo Prático de Utilização de Constante:

Números

4

9 3+ grandes valores 3+ grandes valores

2 15 15

12 15 12

6 15 9

15

No exemplo acima utilizamos a fórmula matricial para fazer um ranking dos três maiores valores.

Podemos também utilizar constantes para fórmulas horizontais:

3 + grandes valores 3 + grandes valores

15 15 15 15 12 9

4.3 - CRIANDO FÓRMULAS MATRICIAIS PARA ANÁLISE DE DADOS E VALORES

Mostraremos a seguir uma série de fórmulas pára pesquisa em diversas de listas, demonstrando as-

sim a eficiência das fórmulas matriciais.

1ºExemplo

Pesquisando o menor valor numa cotação de preços

Criaremos uma tabela e vamos criar uma fórmula matricial para analisar qual fornecedor nos fornece

o menor preço por um determinado produto.

Prod Fornecedor Preço

Prod1 Fornecedor1 100

Prod1 Fornecedor2 80 Produto: Prod1

Coluna Constante, antes do pressionamento das teclas={1;2;3;4}

Coluna Constante, depois do pressionamento das teclas{={1;2;3;4}}

=MAIOR(F2:F7;{1;2;3}), Antes do pressionamento das teclas

{=MAIOR(F2:F7;{1;2;3})}, Depois do pressionamento das teclas

=MAIOR(F2:F7;{1.2.3}) , Antes do Pressionamento das teclas

=MAIOR(F2:F7;{1.2.3}) ,Depois do Pressionamento das teclas

Page 14: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 14 / 31

Prod1 Fornecedor3 90 Menor Preço: 80

Prod2 Fornecedor1 75 Fornecedor: Fornecedor2

Prod2 Fornecedor2 65

Prod2 Fornecedor3 90

Prod3 Fornecedor1 75

Prod3 Fornecedor2 68

Prod3 Fornecedor3 45

Prod3 Fornecedor4 67

Com estas fórmulas você terá condição de criar uma planilha toda voltada a cotações de preços.

Ideal para o depto de compras.

Lista de Produtos

Você tem ainda a possibiliade de listar os produtos cotados: Prod1

Basta digitar a fórmula apelas na 1ªlinha e com toda região Prod2

selecionada, basta teclar Ctrl+Shift+Enter para que o Excel Prod3

complete a seleção.

Repare na 4ª e 5ª linhas que não possem registros, pois na

lista existem apenas 3 produtos diferente.

Esta fórmula substitui o famoso auto-filtro.

2ºExemplo

A próxima fórmula verificará numa tabela e nos fornecerá o maior, médio e menor valor de um deter -

minado produto informado.

Além disso , vamos também ordernar esses valores em ordem crescente e decrescente com o au-

xilio de fórmulas matriciais.

Código Valor Código

AAA 11 BBB

AAA 22

AAA 33 O menor

Para pesquisar o menor preço numa lista:=MIN(SE(produto=i416;Preço))Valide a fórmula Ctrl+Shith+Enter

Para Saber Qual Fornecedor forneceu o menor preço:=INDEX(forcencedor;EQUIV(i416&MIN(SI(produto=i416;Preço));produto&Preço;0))Valider avec Maj+Ctrl+Entrée

{=SE(ÉTEXTO(ÍNDICE(C415:C424;MENOR(SE(CORRESP(C415:C424;C415:C424;0)=LIN(INDIRETO("1:"&LINS(C415:C424)));CORRESP(C415:C424;C415:C424;0);"");LIN(INDIRETO("1:"&LINS(C415:C424))))));ÍNDICE(C415:C424;MENOR(SE(CORRESP(C415:C424;C415:C424;0)=LIN(INDIRETO("1:"&LINS(C415:C424)));CORRESP(C415:C424;C415:C424;0);"");LIN(INDIRETO("1:"&LINS(C415:C424)))));"")}

={=ÍNDICE(E455:E464;CORRESP(F455;D455:D464;0))}

Page 15: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 15 / 31

BBB 111 111

BBB 444

BBB 333 O Intermediário

CCC 1111 333

CCC 2222

CCC 3333 O Maior

CCC 4444 444

Conforme prometido vamos ordenar estes resultados utilizando fórmulas matriciais.

Totais

Ordem 444

Decrescente 333

111

0

0

Totais

Ordem 0

Crescente 0

0

0

0

Acho que você nunca imaginou que poderia ordenar valores com o auxilio de fórmulas matriciais,

não é mesmo ?

3ºExemplo

No próximo exemplo utilizaremos as fórmulas matriciais para filtrar dados de uma lista, como se você

utiliza-se um alto-filtro.

Nomes Seção Filtro das Seções

Ricardo Compras Compras

Pedro Compras Estoque

Alberto Compras Fábrica Essa fórmula é simplesmente sensacional!

João Compras Marketing

={=ÍNDICE(E455:E464;CORRESP(F455;D455:D464;0))}

{=ÍNDICE(Valor;CORRESP(F455;código;0)+CONT.SE(código;F455)-1)}

=MAXIMO(SE(F455=codigo;Valor))Validar pressione ctrl+shift +enter

{=MAIOR(SE(C455:C464=F455;D455:D464;0);LIN(INDIRETO("1:"&LINS(C455:C464))))}Validar Ctrl+Shift+Enter

{=SE(ÉNÚM(MENOR(SE(C455:C464=F455;D455:D464;FALSO);LIN(INDIRETO("1:"&LINS(C455:C464)))));MENOR(SE(C455:C464=F455;D455:D464;FALSO);LIN(INDIRETO("1:"&LINS(C455:C464))));0)}Para Validar Ctrl+Shift+Enter

Page 16: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 16 / 31

Terto Estoque Pessoal

Rogério Estoque

Rosana Estoque

Sérgio Estoque

Espinasse Fábrica

Dupont Fábrica

Durand Marketing

Espinasse Pessoal

O sistema é o mesmo, digite a fórmula apenas na primeira linha; depois selecione as linhas que de-

seja obter o resultado; selecione a fórmula na barra de fórmulas e pressione "Ctrl+Shift+Enter".

Vamos agora destrinchar esta fórmula.

Corresp. Linha Linha

4 1 1 Com as fórmulas matriciais podemos

4 2 obter três maneiras de obter as linhas

4 3 correspondente a uma determinada

4 4 linha.

8 5 5 A 1ª mostra a última linha de itens;

8 6

8 7 A 2ª mostra a linha de cada item de

8 8 uma lista;

10 9 9

10 10 A 3ª mostra qual linha pertence o

11 11 11 1º item da lista;

12 12 12

Vamos agora agrupar várias linhas de uma lista ignorando as linhas "em branco" desta lista.

Lista

aaaa aaaa

Repare nesta bbb

bbb lista que a ccc

ccc linhas sem o ddd

ddd preenchimento kkk

kkk

{=SE(ÉTEXTO(ÍNDICE(E491:E502;MENOR(SE(CORRESP(E491:E502;E491:E502;0)=LIN(INDIRETO("1:"&LINS(E491:E502)));CORRESP(E491:E502;E491:E502;0);"");LIN(INDIRETO("1:"&LINS(E491:E502))))));ÍNDICE(E491:E502;MENOR(SE(CORRESP(E491:E502;E491:E502;0)=LIN(INDIRETO("1:"&LINS(E491:E502)));CORRESP(E491:E502;E491:E502;0);"");LIN(INDIRETO("1:"&LINS(E491:E502)))));"")}

{=SE(ÉERROS(ÍNDICE(C530:C536;MENOR(SE(É.NÃO.DISP(CORRESP(C530:C536;C530:C536;0));"";CORRESP(C530:C536;C530:C536;0));LIN(INDIRETO("1:"&LINS(C530:C536))))));"";ÍNDICE(C530:C536;MENOR(SE(É.NÃO.DISP(CORRESP(C530:C536;C530:C536;0));"";CORRESP(C530:C536;C530:C536;0));LIN(INDIRETO("1:"&LINS(C530:C536))))))}

Page 17: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 17 / 31

Fui obrigado a tratar o erro que essa fórmula retorna (#NUM), com a função ÉERROS(), com isso

a fórmula ficou perfeita. Nós agrupamos todos itens de uma lista com o auxílio das fórmulas matri-

ciais.

4ºExemplo

Você já deve ter tentado criar uma fórmula que analise duas colunas e lista os itens que não são

comuns a elas não é mesmo ? Não se preocupe, com as fórmulas matriciais isso é possível.

Lista 1 Lista 2 Resultado

aaa aaa ddd

bbb bbb eee

ccc ccc fff

ddd

eee

fff

O resultado é excelente, não é mesmo ? repare que novamente utilizamos o recurso de tratamento

de erros com a função éerros().

Agora vamos fazer também uma pesquisa dos itens que fazem parte da duas lista de itens:

Resultado

ccc

bbb Neste caso não

aaa foi necessário

tratar a fórmula

#N/A

5ºExemplo

Nesse exemplo vamos pesquisar numa lista nomes que começam com uma determinada letra.

O detalhe desta pesquisa é que iremos retornar o resultado de duas colunas.

Cidade Cep Critério Pesquisa:

Salvador 78180 C Campinas 78980

{=SE(ÉERROS(ÍNDICE(E548:E553;MENOR(SE(É.NÃO.DISP(CORRESP(E548:E553;C548:C550;0));CORRESP(E548:E553;E548:E553;0);"");LIN(INDIRETO("1:"&LINS(E548:E553))))));"";ÍNDICE(E548:E553;MENOR(SE(É.NÃO.DISP(CORRESP(E548:E553;C548:C550;0));CORRESP(E548:E553;E548:E553;0);"");LIN(INDIRETO("1:"&LINS(E548:E553))))))}

{=SE(ÉTEXTO(ÍNDICE(E548:E553;MAIOR(SE(CONT.SE(C548:C550;E548:E553)>0;CORRESP(E548:E553;E548:E553;0));LIN(INDIRETO("1:"&LINS(E548:E553))))));ÍNDICE(E548:E553;MAIOR(SE(CONT.SE(C548:C550;E548:E553)>0;CORRESP(E548:E553;E548:E553;0));LIN(INDIRETO("1:"&LINS(E548:E553)))));"")}

Page 18: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 18 / 31

Curitiba 78700 Curitiba 78700

Brasília 75000

Campinas 78980

Poa 78200

Guarulhos 13000

Vitória 78000 #N/A

#N/A

#N/A

Simplesmente o resultado desta fórmula é fantástico! Com tanta simplicidade pode-se obter ótimos

resultados com fórmulas matriciais.

6ºExemplo

O próximo exemplo demostrará para nós de uma lista de funcionários e seus respectivos salários os

cinco maiores salários, posição de cada salário na tabela e os respectivos nomes dos funcionários.

Nomes Salários Top 5 Posição Nomes

Carlos 2000 3100 6 Lucas

Pedro 1970 3000 5 Lobato

Martin 1800 2150 8 Miguel

Charles 1200 2100 7 Moraes

Lobato 3000 2000 1 Carlos

Lucas 3100

Moraes 2100

Miguel 2150

Liliane 1900

Vale a pena sempre lembrar para que não esqueça do pressionamento das teclas Ctrl+Sifht+Enter

para a validação das fórmulas matriciais.

O uso de constantes "{1;2;3;4;5}" foi escensial para o funcionamento das fórmulas.

7ºExemplo

Quantos mais exemplos expormos aqui, melhor o aprendizado. O próximo exemplo nos mostrará

um relatório de alunas que mais faltaram num certo curso.

Nome Janeiro Fevereiro Março Abril January February March April

{=SE(ÉTEXTO(ÍNDICE(C576:C584;MAIOR(SE(ESQUERDA(C576:C584;1)=F576;CORRESP(C576:C584;C576:C584;0);"");{1;2;3;4;5;6})));ÍNDICE(C576:C584;MAIOR(SE(ESQUERDA(C576:C584;1)=F576;CORRESP(C576:C584;C576:C584;0);"");{1;2;3;4;5;6}));"")}

=SE(É.NÃO.DISP(PROCV(H576;$C$576:$D$584;2;FALSO));"";PROCV(H576;$C$576:$D$584;2;FALSO))

{=MAIOR(D595:D603;{1;2;3;4;5})}

{=CORRESP(MAIOR(D595:D603;{1;2;3;4;5});D595:D603;0})

{=ÍNDICE(C595:C603;CORRESP(MAIOR(D595:D603;{1;2;3;4;5});D595:D603;0))}

Page 19: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 19 / 31

Carlos 12 12 12 14 Err:504 Err:504 Err:504 Err:504

Pedro 8 8 8 8 Err:504 Err:504 Err:504 Err:504

Martin 16 16 5 22 Err:504 Err:504 Err:504 Err:504

Charles 13 17 13 2 Err:504 Err:504 Err:504 Err:504

Lobato 20 12 11 9 Err:504 Err:504 Err:504 Err:504

Lucas 11 9 9 11

Moraes 16 14 14 14

Miguel 10 10 10 10

Liliane 5 5 5 5

O ponto forte da fórmula é a digitação apenas na primeira célula, aqui no nosso exemplo "i616"; Em

seguida selecione toda região, i616 a L620 e pressione Ctrl+Sfhit+Enter para que todas células façam

parte dessa matriz.

Já pensou ter que preparar manualmente esse cálculo ? A partir de agora tenho certeza que você

sempre recorrerá às fórmulas matriciais.

8ºExemplo

Podemos também criar uma fórmula matricial que nos traz numa determinada tabela os valores a-

proximados para cima e para baixo à partir de uma valor dado.

1 1.5

4.9 2.3 5 Valor

-2 5.1

5.5 5.05 5.05 Maior

4.1 4.2

-55 7 4.9 Menor

Agora, vamos supor que no meio da lista exista dados não numéricos, com isso sua fórmula retorna-

rá um erro. Podemos resolver isso tambem com fórmulas matriciais.

1 1.5

4.9 Blabla 5 Valor

-2 5.1

5.5 5.05 5.05 Maior

Blabla 4.2

-55 7 4.9 Menor

{=ÍNDICE(C616:C624;CORRESP(MAIOR(ÍNDICE(D616:G624-LIN(D616:G624)/10^10;;{1.2.3.4});{1;2;3;4;5});ÍNDICE(D616:G624-LIN(D616:G624)/10^10;;{1.2.3.4});0))}

{=MÍNIMO(SE(C639:D644-F640>0;C639:D644))}

{=MÁXIMO(SE(C639:D644-F640<0;C639:D644))}

{=MÍNIMO(SE(SE(ÉNÚM(C649:D654);C649:D654)-F650>0;C649:D654))}

{=MÁXIMO(SE(SE(ÉNÚM(C649:D654);C649:D654)-F650<0;C649:D654))}

Page 20: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 20 / 31

9ºExemplo

Supondo que temos duas tabelas e queremos contar os valores repetidos nas duas tabelas, temos:

2 2 2 Contando nº repetidos

5 2

4 9

7 3 2

3 3

3 5

Repare que as duas fórmulas produzem o mesmo resultado!

Podemos também somar os valores iguais em duas colunas:

5

5

Repare que as duas fórmulas produzem o mesmo resultado!

Assim como contamos e somamos valores iguais em duas tabelas, podemos também compararmos

as duas e verificar se são iguais!

2 2 Iguais

5 5

4 4

7 7

2 2

3 3

10ºExemplo

O exemplo a seguir é ótimo para quem deseja avaliar uma equipe de vendedores de uma loja.

Vamos supor que você tenha 6 vendedores e os mesmo tenham 4 produtos para vender. Criaremos

uma tabela com a produção de cada um e através de fórmula matricial ordenaremos do maior para

o menor com para ver o desempenho dependendo do produto.

Paulo Carlos Marta Rosangela Miguel José

{=SOMA((D660:D665=F660:F665)*1)}

{=SOMA(SE(D660:D665=F660:F665;1;0))}

{=SOMA(D661:D666*(D661:D666=F661:F666))}

{=SOMA(SE(D661:D666=F661:F666;D661:D666;0))}

{=SE(SOMA((D681:D686=F681:F686)*D681:D686)=SOMA(D681:D686);"Iguais";"Não Iguais")}

Page 21: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 21 / 31

Prod1 22 11 33 55 12 14

Prod2 8 15 33 55 12 18

Prod3 17 12 11 55 18 14

Prod4 21 11 33 12 16 14

Como são 4 produtos e seis vendedores utilizaremos constantes para criar a fórmula.

Temos que ter o cuidado de ao utilizar o pressionamento das teclas "ctrl+shift+enter" para a criação

da fórmula, o temos que fazer por linha. Digite a fórmula na primeira célula; selecione até a sexta co-

luna sequenciais e pressione as teclas selecionando a barra de fórmulas; faça isso até a quarta linha.

Quando você digitar por exemplo na 4ª linha na 1ª do relatório, apenas um resultado será retornado:

Daí você seleciona todas as 6 colunas, seleciona fórmula na barra de fórmulas:

Prod1 Rosangela Marta Paulo José Miguel Carlos

Prod2 Rosangela Marta José Carlos Miguel Paulo

Prod3 Rosangela Miguel Paulo José Carlos Marta

Prod4 Marta Paulo Miguel José Rosangela Carlos

Podemos ordenar os valores das vendas através de fórmulas matriciais, mesmo que a fórmula es-

teja na horizontal.

Paulo Carlos Marta Rosangela Miguel José

22 11 33 55 12 14

11 12 14 22 33 55

Se você ainda quizer saber os vendedores correspondentes:

{=MENOR(E725:J725;COL(INDIRETO("1:"&COLS(E724:J724))))}

Page 22: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 22 / 31

Carlos Miguel José Paulo Marta Rosangela

11ºExemplo

Vamos supor que você tenha um lista enorme de pessoas que precisa recrutar para uma determinada

atividade, mas estas pessoas tem que ser acima de uma determinada idade, vamos criar uma fórmu-

la matricial para resolver este problema para nós.

A tabela

Filtro Nome Idade Seleção Idade

x Carlos 28 Carlos 28

x Ruan 18 Ruan 18

x Pedro 16 Pedro 16

x Suzana 34 Suzana 34

Lima 43 José 22

x José 22 mumu 17

mama 21 toto 53

x mumu 17

x toto 53

tutu 55

4.4 - TRABALHANDO COM DATAS E FÓRMULAS MATRICIAIS

Quando trata-se de de fórmulas e datas no Excel, muitos usuários tem enormes dificuldades na cons-

trução. Vamos demonstrar vários exemplos, onde as fórmula matriciais mais uma vez pode ajudar em

muito na resolução de problemas.

1ºExemplo

Nº de dias, excluindo o domingo e feriados, de um intervalo de datas.

Primeiro passo é criar a tabela com dos dias que são feriados:

Ano Feriados Fixos

2006 1/1/2006 4/16/2006 Páscoa

1/25/2006 Cidade de SP

4/21/2006 2/27/2006 Carnaval

5/1/2006 2/28/2006 Carnaval

7/9/2006 Estado de SP 4/14/2006 Paixão

9/7/2006 6/15/2006 Corphus Cristh

{=SE(ÉNÚM(MENOR(SE(É.NÃO.DISP(CORRESP("x"&LIN(C747:E756);ÍNDICE(C747:E756;;1)&LIN(C747:E756);0));"";CORRESP("x"&LIN(C747:E756);ÍNDICE(C747:E756;;1)&LIN(C747:E756);0));LIN(INDIRETO("1:"&LINS(C747:E756)))));ÍNDICE(C747:E756;MENOR(SE(É.NÃO.DISP(CORRESP("x"&LIN(C747:E756);ÍNDICE(C747:E756;;1)&LIN(C747:E756);0));"";CORRESP("x"&LIN(C747:E756);ÍNDICE(C747:E756;;1)&LIN(C747:E756);0));LIN(INDIRETO("1:"&LINS(C747:E756))));2);"")}

Para filtrar as idades basta alterar o argumento "2" para "3" que representa o nº da colunas das Idades.

Atente para os feriados municipais e estaduais de sua cidade!Como o ano é volátil preencha as datas com a fómula:=DATA(C771;1;1)

Page 23: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 23 / 31

10/12/2006

11/2/2006

11/15/2006

12/25/2006

Com a tabela pronta e funcionando fica muito fácil criar a função para calcular o nº de dias úteis entre

dua datas

2/1/2006 2/28/2006 18 Quantos dias úteis no mês ?

2ºExemplo

Agora podemos criar uma sequência de dias à partir de uma data utilizando fórmulas matriciais.

Digite a fórmula sómente na primeira linha; depois selecione até a última linha que deseja preencher

com datas; selecione a fórmula da barra de fórmulas e tecle ctrl+shift+enter.

Na primeira coluna teremos as datas do mês; na segunda coluna a análise para saber se o dia é fe-

riado.

2/1/2006 1

2/2/2006 1

2/3/2006 1

2/4/2006 0

2/5/2006 0

2/6/2006 1

2/7/2006 1

2/8/2006 1

2/9/2006 1

2/10/2006 1

2/11/2006 0

2/12/2006 0

2/13/2006 1

2/14/2006 1

2/15/2006 1

2/16/2006 1

2/17/2006 1

2/18/2006 0

2/19/2006 0

2/20/2006 1

2/21/2006 1

2/22/2006 1

2/23/2006 1

Atente para os feriados municipais e estaduais de sua cidade!Como o ano é volátil preencha as datas com a fómula:=DATA(C771;1;1)

O cálculo da Páscoa é o mais complicado para o cálculo dos outros feripados voláteis:"=ARRED(DATA(C771;4;MOD(234-11*MOD(C771;19);30))/7;0)*7-6"As outras datas é só ir subtraindo ou adcionando!

=LIN(INDIRETO(C784&":"&D784))=DIA.DA.SEMANA(LIN(INDIRETO(C784&":"&D784));2)<6*(CONT.SE(I770:I775;LIN(INDIRETO(C784&":"&D784)))=0)*(CONT.SE(E770:E779;LIN(INDIRETO(C784&":"&D784)))=0)

Page 24: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 24 / 31

2/24/2006 1

2/25/2006 0

2/26/2006 0

2/27/2006 0

2/28/2006 0

O resultado é simplesmente fantástico.

Pode-se também criar uma fórmula só para contar os dias descontados os feriados:

26

3ºExemplo

Vamos agora calcular dias úteis utilizando fórmulas matriciais, Lembrando que a tabela de feriados

continua sendo a utilizada no 1ºexemplo deste tópico.

A partir de uma data digitada: 2/24/2006 Encontramos o próximo dia útil: 3/1/2006

Podemos também saber o próximo dia útil à partir de uma data acrestcentado uma quantidade de

dias à essa data.

9/1/2006 Nº de dias 10 9/18/2006

4.5 - OUTRAS UTILIZAÇÕES DAS FÓRMULAS MATRICIAIS

1º Exemplo

No próximo exemplo vamos criar uma fómula para efetuar cáculos numa lista, levando em considera-

ção apenas um tipo de débito.

=D784-C784-SOMARPRODUTO((E770:E779>=C784)*(E770:E779<=D784)*1)-SOMARPRODUTO((I770:I775>=C784)*(I770:I775<=D784)*1)+1

{=MÍNIMO(SE((DIA.DA.SEMANA(F834+LIN(INDIRETO("1:7"));2)<6)*(CONT.SE(E770:E779;F834+{1;2;3;4;5;6;7})=0)*(CONT.SE(I770:I775;F834+{1;2;3;4;5;6;7})=0);F834+{1;2;3;4;5;6;7}))}Esta fórmula foi criada com auxílio de constantes

{=ÍNDICE(MENOR(SE((DIA.DA.SEMANA(C842+LIN(INDIRETO("1:"&F842*2));2)<6)*(CONT.SE(I770:I775;C842+LIN(INDIRETO("1:"&F842*2)))=0)*(CONT.SE(E770:E779;C842+LIN(INDIRETO("1:"&F842*2)))=0);C842+LIN(INDIRETO("1:"&F842*2)));LIN(INDIRETO("1:"&F842*2)));F842)}

Page 25: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 25 / 31

Data Tipo Saídas Entradas Saldo

50.00

03/01/06 Gasolina 4.00 50.00

04/01/06 Hotel 4.00 46.00

06/01/06 Lanche 5.00 41.00

06/01/06 Lanche 4.00 37.00

10/01/06 Hotel 5.00 32.00

12/01/06 Gorjeta 5.00 27.00

17/01/06 Taxi 5.00 27.00

20/01/06 Lanche 5.00 22.00

23/01/06 Taxi 5.00 22.00

27/01/06 Gorjeta 5.00 17.00

30/01/06 Hotel 5.00 12.00

30/01/06 Gasolina 5.00 12.00

30/01/06 Raxi 5.00 7.00

Repare nesta fórmula, os saldos diários não são alterados quando o tipo de despesa for Taxi ou ga-

solina.

2º Exemplo

Neste exemplo vamos analisar numa coluna qual o último valor válido.

Neste exemplo são 0 Neste outro exemplo 0 8

apenas numéricos 5 existe dados não nu- 5

44 méricos. 44

aa

5 44

bb

0 0

5 8

0 0

0 0

3º Exemplo

Descobrindo qual a última linha preenchida de uma coluna.

=$H$962-SOMARPRODUTO(F$963:F963*(E$963:E963<>"Taxi")*(E$963:E963<>"Gasolina"))

{=ÍNDICE(E986:E995;MÁXIMO((E986:E995<>0)*LIN(INDIRETO("1:"&LINS(E986:E995)))))}

{=ÍNDICE(H986:H995;MÁXIMO((H986:H995<>0)*(ÉNÚM(H986:H995))*LIN(INDIRETO("1:"&LINS(H986:H995)))))}

Page 26: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 26 / 31

23 LARANJA

CASA

FÁBIO123

LARANJA

Se preferir podemos descobrir qual a última linha preenchida de uma coluna. Fórmula ideal para

quem utiliza o Excel como base de dados.

23 1013

CASA

FÁBIO123

LARANJA

4º Exemplo

Critérios para soma e contagem de valores.

Produtos Valores Categoria

Produto1 100 A Máximo Soma Soma

Produto2 565 B A 125 435 435

Produto3 110 A B 567 1632 1632

Produto4 100 B C 100 200 200

Produto5 100 C

Produto6 125 A

Produto7 567 B A terceira coluna utilizamos a tradicional formula Somase()

Produto8 100 C para se perceber que a utilização de matricial possibilita-se

Produto9 100 A a utilização de mais de um critério para somar ou contar um

Produto10 400 B grupo específico.

Para localizar o maior valor de uma coluna dependendo de um critério:

{=MÁXIMO((E1021:E1030=G1022)*D1021:D1030)}

Para somarmos uma coluna dependendo de um critério:

{=SOMA(SE(E1021:E1030=G1022;D1021:D1030;0))}

O próprio desafio é a utilização de múltiplos critérios:

{=ÍNDICE(C1001:C1005;MÁXIMO(SE(C1001:C1005<>0;CORRESP(C1001:C1005;C1001:C1005);"")))}

=MÁXIMO(SE(C1010:C1014<>"";LIN(C1010:C1014);0))

Page 27: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 27 / 31

Tipo Cidade Salario Qualif Seção Homem Mulher

Homem Campinas 1,505.00 C COMPRAS COMPRAS 1,505.00 4,000.00

Mulher Paris 4,000.00 C COMPRAS ESTOQUE 4,001.00 0.00

Mulher Londres 1,800.00 D DG FABRIC 4,003.00 0.00

Mulher Paris 2,000.00 C DG GESTÃO 2,700.00 1,502.00

Homem Santos 1,503.00 C ESTOQUE DG 0.00 2,000.00

Homem Santos 3,500.00 C ESTOQUE

Homem Santos 4,000.00 C ESTOQUE Se fossemos utilizar a tradicional

Homem Santos 4,001.00 D ESTOQUE função Máximo() o resultado não

Homem Campinas 2,550.00 E FABRIC seria o esperado.

Homem Santos 4,002.00 E FABRIC

Homem Santos 4,003.00 F FABRIC

Homem Santos 1,500.00 C GESTÃO

Mulher Paris 1,502.00 C GESTÃO

Homem Santos 2,000.00 E GESTÃO

Homem Paris 2,500.00 D GESTÃO

Homem Santos 2,700.00 C GESTÃO

5 - CONCLUSÃO

O tema abordado neste boletim é muito importante, já que muitos nem sempre optam em utilizar a

programação em VBA para resolver seus problemas.

As fórmulas matriciais, em muitos casos pode sim resolver problemas que muitas vezes achamos

que só o VBA poderia resolver.

Os 70 exemplos aqui expostos serão de grande valia para todos. Com certeza será uma rica fonte de

consulta, sempre que precisar criar uma fórmula.

A sistemática aqui empregada, muita prática e pouca teoria foi necessário, pois é impossível passar

os conhecimentos de fórmulas matriciais sem um exemplo claro para um perfeito entendimento.

{=MÁXIMO(SE(($G$1043:$G$1058=$I1046)*($C$1043:$C$1058=$J$1042);$E$1043:$E$1058))}

Page 28: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 28 / 31

Page 29: Formulas Matriciais - A Outra Dimensão do Excel

Boletim nº34 FÓRMULAS MATRICIAIS

Excellencia Soluções em VBA www.tudosobrexcel.com Página : 29 / 31

Page 30: Formulas Matriciais - A Outra Dimensão do Excel

ÍNDICE

1 INTRODUÇÃO 32 DEFININDO FÓRMULA E FUNÇÕES 33 DEFININDO FÓRMULAS MATRICIAIS 74 CRIANDO FÓRMULAS MATRICIAIS 7

4.1 - CRIANDO EXPRESSÕES 74.2 - CRIANDO FÓRMULAS MATRICIAIS COM CONSTANTES 124.3 - CRIANDO FÓRMULAS MATRICIAIS PARA ANÁLISE DE DADOS E VALORES 134.4 - TRABALHANDO COM DATAS E FÓRMULAS MATRICIAIS 224.5 - OUTRAS UTILIZAÇÕES DAS FÓRMULAS MATRICIAIS 24

5 CONCLUSÃO 26

Page 31: Formulas Matriciais - A Outra Dimensão do Excel