Notifications
Clear all

Função CONT.SE com valor_se_verdadeiro variável

12 Posts
4 Usuários
0 Reactions
1,915 Visualizações
(@gefilizzol)
Posts: 26
Eminent Member
Topic starter
 

Prezados
Na planilha em anexo

, estou criando um controle de manutenção das peças da minha bicicleta.
A partir da linha 152, tenho uma tabela com as peças que comprei, onde lanço o tipo da peça e a KM inicial e final.
Eu criei códigos para cada peça para permitir a utilização de fórmulas.
A KM inicial já está configurada (puxa dados de referência de outra planilha).
O que eu preciso agora é configurar a coluna do KM Final, da seguinte maneira:
Eu quero criar uma função que reconheça a troca da peça quando no intervalo iniciado na linha subsequente houver uma peça com o mesmo código.
Para tanto, eu precisava saber se é possível que o valor_se_verdadeiro seja obtido da linha onde houver uma peça com o mesmo código.
Por exemplo, na linha 154 eu lancei a peça 2.18.
Se a partir da linha 155 houver outra peça com o código 2.18, a coluna M154 (KM final) utilizaria a célula da coluna L (KM inicial) da linha onde houvesse esse outro lançamento com o código 2.18 (por exemplo, na linha 191).
É possível?

 
Postado : 21/02/2016 10:35 pm
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Confesso, não entendi completamente sua dúvida. Mas, substitua a fórmula da célula M154 por;

=SE(CONT.SE($D$154:D154;"2.18")>1;L154;SE(CONT.SE(D155:D$214;D154);L175;"Em uso"))

em seguida arraste para as demais células.

Veja se atende.

Boa sorte.

 
Postado : 22/02/2016 10:57 am
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Analisando um pouco mais a sua dúvida, confessando não entendê-la completamente e se a minha sugestão anterior não for o que esperava, veja se a fórmula seria essa:

=SE(D154&""="2.18";L154;SE(CONT.SE(D155:D$214;D154);L175;"Em uso"))

Boa sorte.

 
Postado : 22/02/2016 11:07 am
(@gefilizzol)
Posts: 26
Eminent Member
Topic starter
 

Eu queria a seguinte função, mas ao inves de fazer ela infinitamente, queria ela automática:

=SE(D155=D154;L155;SE(D156=D154;L156;SE(D157=D154;L157;SE(D158=D154;L158...

Mandei um novo anexo para atender a seguinte hipótese

:
Suponhamos que no dia 15/07/2015 (B154) eu esteja comprando uma peça identificada sob o código 2.18 (D154), com KM inicial de 0 km.
Se após 15/07/2015, como por exemplo no dia 02/09/2015 (B165), eu comprar uma outra peça com o mesmo código 2.18 (D165), com KM inicial em 300, esta kilometragem inicial da nova peça seria obrigatoriamente a km final da peça comprada em 15/07/2015 (M154), já que uma substitui a outra.
Com isso, ao lançar a compra de uma nova peça com o código 2.18 em 02/09/2015 (linha 165), a linha correspondente à peça comprada em 15/07/2015 (linha 154) teria a coluna da KM final (M154) automaticamente preenchida pela kilometragem inicial da nova peça.

Essa função seria inserida na célula M154.

 
Postado : 22/02/2016 11:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite getillizzol

O que vc quer é ser avisado quando a peças repetir, portanto você pode usar a fórmula abaixo, arrastando a fórmula até a linha que necessitar

=SE(CONT.SE($D$153:D153;D153)>1;"Repetiu";"") em outra coluna.

Se foi útil, clique na mãozinha.

Dê retorno.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/02/2016 3:17 pm
(@gefilizzol)
Posts: 26
Eminent Member
Topic starter
 

Olá Patropi
Você ja me ajudou muito outras vezes.
mas nesse caso, o que quero nao é apenas ser avisado quando repetir com a mensagem "repetiu".
Eu quero que a coluna M de uma determinada linha seja automaticamente preenchida com o valor constante na coluna L da linha onde houver a primeira repetição do código.

 
Postado : 22/02/2016 3:43 pm
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Veja se atende.

 
Postado : 22/02/2016 4:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Olá Patropi
Você ja me ajudou muito outras vezes.
mas nesse caso, o que quero nao é apenas ser avisado quando repetir com a mensagem "repetiu".
Eu quero que a coluna M de uma determinada linha seja automaticamente preenchida com o valor constante na coluna L da linha onde houver a primeira repetição do código.

Nesse caso, é só vc copiar e colar esta formula na célula M154 e arrastar para as outras linhas da coluna:

=SE(CONT.SE($D$154:D154;D154)>1;L154;"")

Dê retorno.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/02/2016 6:56 pm
(@gefilizzol)
Posts: 26
Eminent Member
Topic starter
 

Prezados
Obrigado pelas ajudas, mas ainda não consegui.
Eu não estou conseguindo me expressar direito e acredito que estou induzindo vocês a erro.
A sugestão do Luiz funcionou, mas ela depende da elaboração de uma nova fonte de dados ao lado da tabela com a data inicial e a data final de utilização. Eu queria tentar aprender algo automático, direto com os dados da tabela.
A sugestão do Patropi, na função CONT.SE utiliza como critério a célula D154 travada com $. Mas na verdade, como eu cadastro por ordem cronológica, e considerando que a fórmula só irá considerar trocas posteriores, me parece que a célula inicial do critério será sempre a célula D da linha posterior àquela onde for inserida a fórmula. Se por exemplo, eu quero saber se a peça cadastrada na linha 173 foi trocada lá na frente, a fórmula só iria considerar repetições do código a partir da linha seguinte, que seria minha próxima compra.
Eu até tentei mudar aqui, mas não funcionou.
Existe algum caractere que, se inserido no final de uma fórmula, torna ela infinita?
Eu queria deixar essa célula quase que infinita, aplicável a pelo menos umas 100 linhas pra baixo, só que sem precisar digitar um a um os critérios e intervalos da fórmula:
=SE(D194=D193;L194;SE(D195=D193;L195... E AI ATÉ 100 LINHAS PRA FRENTE, POR EXEMPLO))

 
Postado : 23/02/2016 7:03 am
(@gui-d)
Posts: 155
Estimable Member
 

Gefillizol, é complicado analisar seu problema com o lixo do Excel que estou utilizando, pois algumas formulas que utilizou em sua planilha não são reconhecidas pelo excel 2003.
Então fui meio que na adivinhação, tipo aprendiz de mãe Diná.

Mas coloque essa formula na célula "M153", como matricial, pressionando CTRL+SHIFT+ENTER, e arraste para baixo.

=SEERRO(SE(D153="-";"-";ÍNDICE($L$153:$L$190;MENOR(SE($D$153:$D$190=D153;LIN($D$153:$D$190)-LIN($D$153)+1;FALSO);CONT.SE($D$153:D153;D153)+1)));"EM USO")

Faça o teste e veja se é isso que precisa.

Caso seja necessário, basta aumentar as matrizes.

Dê retorno.

[]

Guilherme Domingos

Se a mensagem foi util Favor Clicar na mãozinha ao lado de "citar".
Quando necessário, lembre se de marcar o tópico como [RESOLVIDO].

 
Postado : 23/02/2016 8:16 am
(@gefilizzol)
Posts: 26
Eminent Member
Topic starter
 

Ainda nao.
Eu fiz uma fórmula manual, mas eu queria que ela seguisse mais adiante (fosse até a linha 300, por exemplo):
Ela funciona como eu quero, exceto a questão da continuidade.
=SE(D190=D189;L190;SE(D191=D189;L191;SE(D192=D189;L192;SE(D193=D189;L193;SE(D194=D189;L194;SE(D195=D189;L195;SE(D196=D189;L196;SE(D197=D189;L197;SE(D198=D189;L198;SE(D199=D189;L199;SE(D200=D189;L200;SE(D201=D189;L201;SE(D202=D189;L202;SE(D203=D189;L203;SE(D204=D189;L204;SE(D205=D189;L205;SE(D206=D189;L206;"Em uso")))))))))))))))))
Queria que fosse até D306=D189;L306, por exemplo.

 
Postado : 23/02/2016 11:27 am
(@gui-d)
Posts: 155
Estimable Member
 

Bom, eu testei a fórmula que postei aqui, e se entendi bem sua dúvida, funcionou perfeitamente.

Mas é claro, volto a frisar que caso você tenha mais informações na planilha é necessário aumentar o intervalo das matrizes, se não fizer isso é claro que não irá retornar os resultados corretos.

[]

Guilherme Domingos

Se a mensagem foi util Favor Clicar na mãozinha ao lado de "citar".
Quando necessário, lembre se de marcar o tópico como [RESOLVIDO].

 
Postado : 23/02/2016 12:09 pm