Formulas Matriciais - A Outra Dimensão do Excel

May 4, 2019 | Author: mgcu72 | Category: Microsoft Excel, Spreadsheet, Argument, Calculus, Function (Mathematics)
Share Embed Donate


Short Description

Download Formulas Matriciais - A Outra Dimensão do Excel...

Description

Boletim nº34

Excellencia Soluções em VBA

FÓRMULAS MATRICIAIS

www.tudosobrexcel.com

Página : 1 / 34

Boletim nº34

Excellencia Soluções em VBA

FÓRMULAS MATRICIAIS

www.tudosobrexcel.com

Página : 2 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

FÓRMULAS MATRICIAIS 1 - INTRODUÇÃO O excel, a princípio, foi criado para resolver o problema de muitos, que com suas cálculadoras efetuavam 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 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 não prender o usuário a um padrão, padrão, ou seja, no excel 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 cri adas estavam tornando-se complexas demais, resolveu simplificar tudo isso, e aí nasceu as fómulas matriciais. 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 apresentadas.

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 conter quaisquer dos seguintes itens: funções , referências, operadores e constantes.

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 3 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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( ):

Estrutura de uma função: Estrutura. A estrutura de uma função começa com um sinal de igual (=), seguido do nome da função, um parêntese aberto, os argumentos da função separados por vírgulas e um parêntese de fechamento.



Nome da função. Para obter uma lista das funções disponíveis, clique em uma célula e pres sione SHIFT+F3. 

Argumentos. Os argumentos podem ser números, texto, valores lógicos, como VERDADEIRO 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 constantes, fórmulas ou outras funções. 

Dica de ferramenta Argumentos. Uma dica de ferramenta com a sintaxe e argumentos é exibida à medida que você digita a função. Por exemplo, digite =ARRED( e a dica de ferramenta aparecerá. 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-

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 4 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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.

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 exibum 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 SOMA 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 Microsoft 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 mesma pasta de trabalho e a outras pastas de trabalho. Referências às células de outras pastas de trabalho são chamadas vínculos.

Referências Relativas e Referências Absolutas: Uma referência relativa em uma fórmula, como A1, é baseada na posição relativa da célula que conté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órmula 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.

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 5 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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. Uma referência absoluta de célula em uma fórmula, como $A$1, sempre se refere a uma célula em 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élula B3, ela permanecerá a mesma em ambas as células =$A$1.

Uma referência mista tem uma coluna absoluta e linha relativa, ou linha absoluta e coluna relativa. 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órmula se alterar, a referência relativa será alterada e a referência absoluta não se alterará. Se você copiar 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(PrimeiroTrimestreVendas) a fórmula talvez seja mais fácil de identificar do que

=SOMA(C20:C30). Os nomes estão disponíveis em qualquer planilha. Por exemplo, se o nome VendasProjetadas referirse 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

Excellencia Soluções em VBA

ser usados para representar fórmulas ou valores que não se alteram

www.tudosobrexcel.com

Página : 6 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

(constantes). Por exemplo, você pode usar o nome ImpostoVendas para representar o valor do imposto 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: Quais são os caracteres permitidos?  O primeiro caractere de um nome deve ser uma letra ou um sublinhado. Os demais caracteres no nome podem ser letras, números, pontos e sublinhado. Nomes podem ser referências de células?  Os nomes não podem ser iguais a uma referência de célula, como Z$100 ou L1C1. É possível usar mais de uma palavra?  Sim, mas espaços não são permitidos. Os caracteres de sublinhado e os pontos podem ser usados como separadores de palavras

— por exemplo,

Imposto_Vendas ou Primeiro.Trimestre.

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 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 resultado ou vários resultados. As fórmulas de matriz ficam entre chaves { } e são inseridas pressionando 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.

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 7 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

 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 tradicionais.

4 - CRIANDO FÓRMULA MATRICIAIS  Aprender a criar fórmulas no Excel é igual a resolver equações de matemática, nada como muit os 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

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 Compras, e a 2ª verificará quais são qualificados na categoria "Q1". Nome

Depto

Excellencia Soluções em VBA

Qualif

Salario

www.tudosobrexcel.com

1

2

3

Página : 8 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

Carlos

Compras

Q1

R$ 2,000.00

TRUE

TRUE

1

Romeu

Estoque

Q2

R$ 2,000.00

FALSE

FALSE

0

Martin

Fabrica

Q3

R$ 800.00

FALSE

FALSE

0

 Alberto

Compras

Q2

R$ 2,000.00

TRUE

FALSE

0

Doremi

Compras

Q1

R$ 2,000.00

TRUE

TRUE

1

Mermoz

Estoque

Q1

R$ 2,000.00

FALSE

TRUE

0

Balu

Compras

Q2

R$ 2,000.00

TRUE

FALSE

0

Boresco

Fabrica

Q3

R$ 2,000.00

FALSE

FALSE

0

Delpont

Compras

Q4

R$ 2,000.00

TRUE

FALSE

0

=D213:D221="Compras"

=E213:E221="Q1"

=H213:H213*I213:i2210

 A utilização de expressões Matriciais agilizam muito a construção de fórmulas idênticas para diversas 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 matricial será criada automaticamente. Repita a operação para a 2ª e 3ª consultas, você irá se surpreender com o resultado! Na primeira e segunda consulta se os critérios satisfazem a expressão o termo "Verdadeiro" é retornado, senão "Falso". Já na 3ª consulta se as duas colunas satisfizerem os critérios o valor 1 será retornado senão zero.

Todo o segredo das fórmulas matriciais estão no pressionamento simultâneo das teclas Ctrl+ShiftEnter 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

Excellencia Soluções em VBA

Efetuando operações om vetores e matrizes. Pessoal do Depto Com Qualificação "Q1"  =SOMARPRODUTO((D213:D221="Compras")*(E213:E221="Q1"))

www.tudosobrexcel.com

Página : 9 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

R$ 2,000.00

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

2º Exemplo Para incrementar mais um pouco a fórmula utilizaremos agora 2 critérios de consulta, o depto. e a Qualificação. Compras

Escolha o Depto.

Q2

Escolha a Qualificação

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

2

NºDepto. em Qual.

Soma Depto. Em Q1

4,000.00

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

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

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-

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 10 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

minada letra e também que nasceram num determinado ano, tudo graças às formulas matriciais. Soma dos salários das Pessoas que começam com a letra D 4,000.00

{=SOMA((ESQUERDA(E275:E283)="D")*H275:H283)} Para validar Tecle Cotrl+Shift+Enter

4,000.00 

{=SOMA(SE(ESQUERDA(E275:E283;1)="D";H275:H283;0))} Para validar Tecle Cotrl+Shift+Enter

2

ou

Nº de pessoas que começas com letra D

{=SOMA((ESQUERDA(E275:E283)="D")*1)} Para validar Tecle Cotrl+Shift+Enter



ou

6

Nº de pessoas que nasceram em 1950



ou

{=SOMA(SE(ESQUERDA(E275:E283;1)="D";1;""))}

{=SOMA((ANO(I275:I283)=1950)*1)}

{=SOMA(SE(ANO(I275:I283)=1950;1;0))}

3,500

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

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

17,000.00

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

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

Sim 

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

4º Exemplo

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 11 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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

3

03/06/06

03/06/06

1,000.00

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

2

Duas faturas foram pagas no vecto.

2,000.00 Soma das duas faturas

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

 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

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

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 12 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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

2,000.00

A

3,000.00

B

4,000.00

CAK

5,000.00

B

6,000.00

KLM

7,000.00

CA

3

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))

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á preenchida 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.

1

Excellencia Soluções em VBA

Coluna Constante, antes

www.tudosobrexcel.com

1

Coluna Constante,

Página : 13 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

do pressionamento das teclas ={1;2;3;4}

1 1

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

2 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 =MAIOR(F2:F7;{1;2;3}), Antes do pressionamento das teclas

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

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

15

3 + grandes valores

15

15

15

12

9

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

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

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 assim 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

Excellencia Soluções em VBA

Preço

www.tudosobrexcel.com

Página : 14 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

Prod1

Fornecedor1

100

Prod1

Fornecedor2

80

Prod1

Fornecedor3

90

Prod2

Fornecedor1

75

Prod2

Fornecedor2

65

Prod2

Fornecedor3

90

Prod3

Fornecedor1

75

Prod3

Fornecedor2

68

Prod3

Fornecedor3

45

Prod3

Fornecedor4

67

Produto: Menor Preço: Fornecedor:

Prod1

80 Fornecedor2

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

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: Basta digitar a fórmula apelas na 1ªlinha e com toda região selecionada, basta teclar Ctrl+Shift+Enter para que o Excel complete a seleção. Repare na 4ª e 5ª linhas que não possem registros, pois na lista existem apenas 3 produtos diferente.

Prod1 Prod2 Prod3

{=SE(ÉTEXTO(ÍNDICE(C415:C424;MENOR(SE(CORRESP(C415:C424;C415:C424;0)=LIN(INDIRETO("1:"&LINS(C415:C424)));CORR ESP(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:C42 4;C415:C424;0);"");LIN(INDIRETO("1:"&LINS(C415:C424)))));"")}

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 auxilio de fórmulas matriciais.

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 15 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

Código

Valor

Código

 AAA

11

BBB

 AAA

22

 AAA

33

BBB

111

BBB

444

BBB

333

CCC

1111

CCC

2222

CCC

3333

CCC

4444

O menor 

111

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

O Intermediário

333

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

444

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

O Maior 

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

Totais

Ordem Decrescente

444 333 111 0 0

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

Totais

Ordem Crescente

111 333 444 0

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

0

 Acho que você nunca imaginou que poderia ordenar valores com o auxilio de fórmulas matric iais, não é mesmo ?

3ºExemplo

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 16 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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

João

Compras

Marketing

Terto

Estoque

Pessoal

Rogério

Estoque

Rosana

Estoque

Sérgio

Estoque

Espinasse

Fábrica

Dupont

Fábrica

Durand

Marketing

Espinasse

Pessoal

Essa fórmula é simplesmente sensacional! {=SE(ÉTEXTO(ÍNDICE(E491:E502;MENOR(SE(COR RESP(E491:E502;E491:E502;0)=LIN(INDIRETO("1:"& LINS(E491:E502)));CORRESP(E491:E502;E491:E502 ;0);"");LIN(INDIRETO("1:"&LINS(E491:E502))))));ÍNDI CE(E491:E502;MENOR(SE(CORRESP(E491:E502;E4 91:E502;0)=LIN(INDIRETO("1:"&LINS(E491:E502)));C ORRESP(E491:E502;E491:E502;0);"");LIN(INDIRETO ("1:"&LINS(E491:E502)))));"")}

O sistema é o mesmo, digite a fórmula apenas na primeira linha; depois selecione as linhas que deseja 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

1

4

2

obter três maneiras de obter as linhas

4

3

correspondente a uma determinada

4

4

linha.

8

5

8

6

8

7

 A 2ª mostra a linha de cada item de

8

8

uma lista;

10

9

10

10

11

11

11

12

12

12

Excellencia Soluções em VBA

1

Com as fórmulas matriciais podemos

4

5

 A 1ª mostra a última linha de itens;

9

 A 3ª mostra qual linha pertence o

www.tudosobrexcel.com

1º item da lista;

Página : 17 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

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

reenchimento

kkk

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

kkk

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 matriciais.

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 aaa bbb ccc

Lista 2 aaa bbb ccc ddd eee fff 

Resultado ddd eee fff  

{=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(I NDIRETO("1:"&LINS(E548:E553))))))}

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 list a de itens: Resultado ccc bbb Neste caso não

Excellencia Soluções em VBA

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

www.tudosobrexcel.com

Página : 18 / 34

Boletim nº34

aaa

FÓRMULAS MATRICIAIS

foi necessário tratar a fórmula

. CORRESP(E548:E553;E548:E553;0));LIN(INDIRETO("1:"&LINS(E548:E553)))) );"")}

#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

Salvador

78180

Curitiba

78700

Brasília

75000

Campinas

78980

Poa

78200

Guarulhos

13000

Vitória

78000

Critério

Pesquisa:

C

Campinas

78980

Curitiba

78700

{=SE(ÉTEXTO(ÍNDICE(C576 :C584;MAIOR(SE(ESQUERD  A(C576:C584;1)=F576;COR RESP(C576:C584;C576:C58 4;0);"");{1;2;3;4;5;6})));ÍNDIC E(C576:C584;MAIOR(SE(ES QUERDA(C576:C584;1)=F57 6;CORRESP(C576:C584;C5 76:C584;0);"");{1;2;3;4;5;6}));" ")}

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

#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

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 19 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

Lucas

3100

Moraes

2100

Miguel Liliane

2150 1900

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

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

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

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  

Carlos

12

12

12

14

Charles

Charles

Charles

Charles

Pedro

8

8

8

8

Carlos

Carlos

Carlos

Carlos

Martin

16

16

5

22

Carlos

Carlos

Carlos

Carlos

Charles Lobato

13

17

13

2

Carlos

Carlos

Carlos

Carlos

20

12

11

9

Lucas

11

9

9

11

Moraes

16

14

14

14

Miguel Liliane

10

10

10

10

5

5

5

5

#NUM!

#NUM!

#NUM!

#NUM!

{=ÍNDICE(C616:C624;CORRESP(MAIOR(ÍNDICE(D6 16:G624LIN(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))}

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

Excellencia Soluções em VBA

www.tudosobrexcel.com

Página : 20 / 34

Boletim nº34

FÓRMULAS MATRICIAIS

Podemos também criar uma fórmula matricial que nos traz numa determinada tabela os valores aproximados para cima e para baixo à partir de uma valor dado. 1

1.5

4.9

2.3

-2

5.1

5.5

5.05

4.1

4.2

-55

7

5

Valor 

5.05

Maior 

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

4.9

Menor 

{=MÁXIMO(SE(C639:D644-F6400;C649:D654))}

4.9

{=MÁXIMO(SE(SE(ÉNÚM(C649:D654);C649:D654)Menor  F650
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF