Notifications
Clear all

Referência de células, dentro da fórmula.

11 Posts
2 Usuários
0 Reactions
2,107 Visualizações
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Prezados, boa tarde.
Estou com um probleminha fácil de resolver.

Pois o erro já foi identificado, agora a pouco, enquanto eu preparava esse documento exemplo - em anexo.

Com a ajuda do Patropi, no tópico viewtopic.php?f=20&t=9095, consegui fazer a contagem de valores distintos da forma como eu queria.

Porém, estou obtendo valores errados pois não entendi como inserir mais de uma referência de célula na mesma fórmula.
São os tais critérios que eu nunca consigo fazer funcionar.

Dou o exemplo:

E, sendo sucinto:
Temos 4 abas:

A base de dados [PRODUTOS], a fonte de validação [COMPRADORES], o relatório [RELATÓRIO], e uma tabela dinâmica da base de dados [Din.PRODUTOS].

Tento organizar a contagem de valores únicos/distintos na tabela de relatórios.
Utilizando a seguinte fórmula matricial:

=CONT.NÚM(1/FREQÜÊNCIA(SE(PRODUTOS!$E:$E=B$1;SE(PRODUTOS!$D:$D=$A3;SE(OU(PRODUTOS!$F:$F=COMPRADORES!$A$2;PRODUTOS!$F$:$F=COMPRADORES!$A$3;PRODUTOS!$F:$F=COMPRADORES!$A$4);CORRESP(PRODUTOS!$A:$A;PRODUTOS!$A:$A;0))));LIN(PRODUTOS!$A:$A)-1))

O erro, que identifiquei está no seguinte trecho:

SE(OU(PRODUTOS!$F:$F=COMPRADORES!$A$2;PRODUTOS!$F$:$F=COMPRADORES!$A$3;PRODUTOS!$F:$F=COMPRADORES!$A$4) ......

Quero que realize uma contagem de dados, onde a condição seja que o comprador seja igual a um desses listados.
Tentei, também, da forma SE(PRODUTOS!$F:$F=OU(COMPRADORES!$A$2;COMPRADORES!$A$3;COMPRADORES!$A$4)... mas não obtive nenhum resultado.

A tabela dinâmica traz a opção de selecionar todas as fontes que quero, no filtro. Mas não sei fazer isto, em fórmula.

A ideia está totalmente errada, ou passei perto?

 
Postado : 03/09/2013 10:43 am
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Resumo:
Como posso indicar as celulas da tabela "COMPRADORES", na condição de busca da fórmula matricial?

Quero indicar muito mais de uma célula de outra tabela, dentro da fórmula. E, nem sempre estarão em sequencia.

 
Postado : 03/09/2013 10:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde vic7or,

Blz cara, quanto tempo... Coloca essa fórmula na célula C3 da planilha RELATÓRIO:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*(ESQUERDA(PRODUTOS!$F$2:$F$17023;3)="ABC");CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

Ctrl + Shift + Enter

Depois arrasta para baixo (fica pesado devido a quantidade de dados e por ser matricial).

Qualquer coisa da o grito.
Abraço

 
Postado : 03/09/2013 12:26 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Fala, Bernardo, tudo bem?

Eu lí sua fórmula aqui, e ela lê o texto "ABC", e traz tudo o que tiver "ABC" no começo. Certo?

É brilhante esta solução.

Mas, no meu caso, terei informações que tenho que trazer que são diferentes desse 'padrão' ABC.

Por exemplo.
Preciso buscar valores da tabela COMPRADORES, mesmo.. onde os campos sejam, por exemplo:

RHY
SED
TXP

O que não tem nenhum padrão.

Queria poder escolher as células com os valores, dentro da aba "Compradores".

Por isso eu tentei desta forma:

SE(OU(PRODUTOS!$F:$F=COMPRADORES!$A$2;PRODUTOS!$F$:$F=COMPRADORES!$A$3;PRODUTOS!$F:$F=COMPRADORES!$A$4) ......

é mais complicado do que eu imagino? T_T

 
Postado : 03/09/2013 1:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde vic7or,

É a mesma lógica, nada difícil, mas ou terá de mexer na fórmula sempre ou determinar algumas células para esses preenchimentos.

Serão sempre 3 compradores ou como funciona?

Utilizei assim porque o total de produtos usa essa forma e se tiver essa opção como disse também não irá funcionar...

Abraço

 
Postado : 03/09/2013 1:16 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Boa tarde, Bernardo, agradeço a atenção e o suporte oferecido neste tópico.

E, respondendo à sua pergunta.

Poderão ser mais de um, a quantidade que for necessário.
Mas, geralmente, de um mesmo grupo.

Na fórmula que eu propus, pensando que poderia funcionar

....SE(OU(PRODUTOS!$F:$F=COMPRADORES!$A$2;PRODUTOS!$F$:$F=COMPRADORES!$A$3;PRODUTOS!$F:$F=COMPRADORES!$A$4) ......

faz uma busca com referência nas células A2, A3 e A4, respectivamente. Onde a condição é que os valores buscados na coluna compradores (A2, A3 e A4, ou qualquer outro que eu precisar) da base de dados seja satisfeita.

Gostaria de indicar, na fórmula, quais os valores estou buscando, de acordo com a lista dada na aba "COMPRADORES".
Eu não consegui fazer de jeito nenhum.

 
Postado : 03/09/2013 1:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde vic7or,

Tenta assim:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*(NÃO(ÉERROS(CORRESP(PRODUTOS!$F$2:$F$17023;{"ABC2";"ABC3";"ABC5"};0))));CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

Ctrl + Shift + Enter

É só alterar o que está em negrito os compradores, modificando, acrescentando, removendo quantos quiser...

Se os compradores tiverem que ser referenciados em células pode ser feito assim:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*((PRODUTOS!$F$2:$F$17023="ABC2")+(PRODUTOS!$F$2:$F$17023="ABC3")+(PRODUTOS!$F$2:$F$17023="ABC5"));CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

Ctrl + Shift + Enter

Também é só seguir a lógica na parte em negrito.

Qualquer coisa da o grito.
Abraço

 
Postado : 03/09/2013 2:15 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Caraca, deixa eu dar uma olhada nisso... tem uma matriz dentro da fórmula?! Nunca vi isso! =x

...{"ABC2";"ABC3";"ABC5"}...

Vou testar aqui e já volto! Valeu o apoio, Bernardo.

 
Postado : 03/09/2013 3:02 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Hahahaha...
lindo! Funcionou das duas formas, com maestria! To boiando em umas combinações.. mas.. ...tá jóia. Vou aprender.
=D

Só não entendi quando vocÊ disse

Se os compradores tiverem que ser referenciados em células pode ser feito assim:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*((PRODUTOS!$F$2:$F$17023="ABC2")+(PRODUTOS!$F$2:$F$17023="ABC3")+(PRODUTOS!$F$2:$F$17023="ABC5"));CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

Ctrl + Shift + Enter

Poderia colocar aí, as tais, COMPRADORES!$A$2 ....... e quantas outras eu quiser?
Pois não consegui inserir.
(mas tá ótimo do jeito que tá! É porque os textos que vou adicionar são imensos. To com medo de bater o limite de carácteres!)

 
Postado : 03/09/2013 3:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde vic7or,

Sim, no lugar dos nomes, você pode referenciar as células, deixando:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*((PRODUTOS!$F$2:$F$17023=COMPRADORES!$A$2)+(PRODUTOS!$F$2:$F$17023=COMPRADORES!$A$3)+(PRODUTOS!$F$2:$F$17023=COMPRADORES!$A$4));CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

No outro você pode colocar um intervalo de células tipo:

=CONT.NÚM(1/FREQÜÊNCIA(SE((PRODUTOS!$E$2:$E$17023=B$1)*(PRODUTOS!$D$2:$D$17023=$A3)*(NÃO(ÉERROS(CORRESP(PRODUTOS!$F$2:$F$17023;COMPRADORES!$A$2:$A$4;0))));CORRESP(PRODUTOS!$B$2:$B$17023;PRODUTOS!$B$2:$B$17023;0));LIN(PRODUTOS!$B$2:$B$17023)-1))

Só que esse segundo não da para usar células distintas, somente intervalo.

Qualquer coisa da o grito.
Abraço

 
Postado : 03/09/2013 3:16 pm
(@vic7or)
Posts: 94
Estimable Member
Topic starter
 

Hum. Agora deu certo.
Eu tinha feito alguma besteira, pois não estava dando pra colocar os A2, A3 e A4...
Obrigado, Bernardo.

Agora vou dar uma olhada nessa fórmula linda. Esse { } dentro da fórmula, eu nunca tinha visto.
LOL

 
Postado : 03/09/2013 3:47 pm