Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
#69318
Olá Pessoas!

Preciso recorrer a ajuda da comunidade novamente! Estou fazendo umas alterações na planilha que emito as notas de conferência. Essa semana houve uma nova demanda, com a alteração de dados que tínhamos anteriormente. Os dados puxavam normalmente com a planilha que tínhamos. Hoje já ocorre um problema, que é o seguinte:

Imagem
site: https://im.ge/i/lUTHxY

Hoje temos "Order's" que possuem mais de um "Shipment", e a planilha de impressão:

Imagem
site: https://im.ge/i/lUTpnD

Ela acaba entendo como se houvesse apenas um shipment identificado a essa "Order" 1A, isso acontece com as demais notas de conferência que puxam as informações.

Eu sei porque acontece o erro, o motivo é que a concatenação segue uma sequência alfabética, como é possível observar na aba "Concat. Order". A minha imaginação parou a partir do momento em que mais de uma "Order" da mesma aparece em algumas notas... Vou disponibilizar o arquivo (por meio desse link: https://files.fm/u/g7zxcmagy do site Files FM, porque por aqui aparece que o arquivo é muito grande...) para que possam me ajudar a desenvolver algo que solucione esse impasse, acredito que a :idea: expertise :idea: de vocês vai conseguir me ajudar a resolver esse problema, Obrigado!!! :D :D :D
#69332
johnscottie, Bom Dia.

Por se tratar de uma planilha muito grande coloca esta formula na célula A5 e arrasta para baixo

=SEERRO(ÍNDICE(Consolidated!$F$2:$F$9000;MENOR(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);LIN($A1)));"")

E na célula b5 coloca esta formula e arraste para baixo

=SEERRO(ÍNDICE(Consolidated!$G$2:$G$9000;MENOR(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);LIN($A1)));"")

Faça o mesmo para as outra células exemplo A54 e B54 ....... LEMBRANDO mudar a comparação para célula A54 é $k$51

Confere se é desta forma que desejas

Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio
#69336
Deciog escreveu:johnscottie, Bom Dia.

Por se tratar de uma planilha muito grande coloca esta formula na célula A5 e arrasta para baixo

=SEERRO(ÍNDICE(Consolidated!$F$2:$F$9000;MENOR(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);LIN($A1)));"")

E na célula b5 coloca esta formula e arraste para baixo

=SEERRO(ÍNDICE(Consolidated!$G$2:$G$9000;MENOR(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);LIN($A1)));"")

Faça o mesmo para as outra células exemplo A54 e B54 ....... LEMBRANDO mudar a comparação para célula A54 é $k$51

Confere se é desta forma que desejas

Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio
Bom dia Décio!! Agradeço a sua ajuda encarecidamente!!!

Eu não consegui copiar/colar essa sua fórmula pronta nas células A5 e B5, porém eu adaptei o que já possuía com a descoberta dessa fórmula "ÍNDICE" que você mencionou e acabei bolando uma forma de puxar o necessário e deu certo, valeu mesmo!!!

Se você conseguir compartilhar a planilha que você fez a alteração e conseguiu puxar com essas suas fórmulas, eu agradeço mais ainda, porque aí eu consigo ver o que não ta batendo com essa minha aqui!!!

Um outro problema que to tendo é na hora de clicar em "Obrigado" Aparece que eu não tenho autorização pra fazer isso...

Agradeço novamente!!!! :!: :!: :D :D
#69351
Boa noite.

A fórmula do mestre Décio é matricial, então, dependendo da sua versão de Excel, seja necessário confirmar pressionando simultaneamente as teclas Ctrl, Shift e Enter. E depois arrastar para baixo.

Uma variação dessa fórmula que não requer Ctrl+Shift+Enter seria esta:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;MENOR(ÍNDICE(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);0);LIN($A1)));"")
Ou esta com a função AGREGAR, se disponível na sua versão de Excel:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;AGREGAR(15;6;(LIN($C$2:$C$9000)-1)/(Consolidated!$D$2:$D$9000=$K$2);LIN($A1)));"")
Para ambas, cole em A5, arraste para B5 e para baixo até a linha 44.
E para as outras páginas, precisa mudar manualmente a referência a K2 e o k da função MENOR de volta para LIN(A1).

Uma possibilidade de automatizar essas alterações na fórmula seria:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;MENOR(ÍNDICE(SE(Consolidated!$D$2:$D$9000=DESLOC($K$2;QUOCIENTE(LINS($Z$1:$Z1);49)*49;0);LIN($C$2:$C$9000)-1);0);MOD(LINS($A$1:$A1)-1;49)+1));"")
Cole em A5, arraste para B5 e para baixo até a linha 44. Depois, copie o intervalo A5:B5 e cole em A54 ou A103, A152, etc.

O inconveniente da função DESLOC é que por ser uma função volátil, pode tornar lenta a sua planilha.

Good luck!
#69367
Estevaoba escreveu:Boa noite.

A fórmula do mestre Décio é matricial, então, dependendo da sua versão de Excel, seja necessário confirmar pressionando simultaneamente as teclas Ctrl, Shift e Enter. E depois arrastar para baixo.

Uma variação dessa fórmula que não requer Ctrl+Shift+Enter seria esta:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;MENOR(ÍNDICE(SE(Consolidated!$D$2:$D$9000=$K$2;LIN($C$2:$C$9000)-1);0);LIN($A1)));"")
Ou esta com a função AGREGAR, se disponível na sua versão de Excel:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;AGREGAR(15;6;(LIN($C$2:$C$9000)-1)/(Consolidated!$D$2:$D$9000=$K$2);LIN($A1)));"")
Para ambas, cole em A5, arraste para B5 e para baixo até a linha 44.
E para as outras páginas, precisa mudar manualmente a referência a K2 e o k da função MENOR de volta para LIN(A1).

Uma possibilidade de automatizar essas alterações na fórmula seria:
Código: Selecionar todos
=SEERRO(ÍNDICE(Consolidated!F$2:F$9000;MENOR(ÍNDICE(SE(Consolidated!$D$2:$D$9000=DESLOC($K$2;QUOCIENTE(LINS($Z$1:$Z1);49)*49;0);LIN($C$2:$C$9000)-1);0);MOD(LINS($A$1:$A1)-1;49)+1));"")
Cole em A5, arraste para B5 e para baixo até a linha 44. Depois, copie o intervalo A5:B5 e cole em A54 ou A103, A152, etc.

O inconveniente da função DESLOC é que por ser uma função volátil, pode tornar lenta a sua planilha.

Good luck!
Boa @Estevaoba cara agradeço você e o @Deciog de verdade!!

Vocês abriram minha mente aqui pra resolver mil coisas :D :D :)

Cara, então, eu não tava conseguindo usar a fórmula que o Décio postou, porque as configurações do PC aqui estavam em Inglês... aí até o separador de argumentos tava alterado, ao invés do "Ponto e Vírgula" amplamente utilizado, aqui tava com "Vírgula" apenas e isso que tava causando maior alvoroço kkk já tava impaciente.

Achei interessante isso que você comentou do Ctrl+Shift+Enter também não teria saído do lugar se não fosse essa citação kkk cara! to desatualizado, preciso parar um tempinho por dia pra fazer uma reciclagem...

Só tenho dois impasses agora, o primeiro são as linhas K2, K51, [...] Que chegam em um ponto que entregam a fórmula necessária, e depois ela repete uma sequência inicial, na metade do caminho, mas eu to pensando em apagar aquela fórmula que era utilizada na antiga concatenação e puxar por linha direto... vou ver se da certo...

E o segundo problema é que a planilha pesou demais com as fórmulas kkk qualquer Enter que eu clico na aba dos Check Lists, aparece uma mensagem no rodapé "Calculando 12 Threads" e fica tipo uns 2 minutos+ até atualizar, pode ser um ponto que tenha sido apagado, que seja. Tava lendo uns tópicos aqui, mas a solução é que o Excel não ta preparado pra tanta informação assim :lol: :shock: :?

Gente, obrigado mesmo! Já foi um baita adianto tudo que propuseram aqui pra me ajudar! Vou fechar o tópico como resolvido e tentar ver como faço pra clicar no "Obrigado" sem que apareça essa mensagem: https://im.ge/i/lhzfIq
#69369
Como eu falei, já era esperado a planilha ficar lenta com a fórmula usando DESLOC, devido ela ser volátil. Toda vez que altera alguma informação, ela recalcula todas as células em que ela está presente.
Então para contornar isso você teria que mudar a célula manualmente para cada página.

De qualquer forma, fico feliz em poder ajudar e conte sempre com a gente.

Abraço
#69370
Bom dia.

sou portugues e pedia uma ajuda que tem que ver com a formula de repetição.
passo a explicar: no meu trabalho tenho um ficheiro em excel que uso para inserir codigos de barras de produtos. sucede que como o ficheiro fica muito pesado (lento) tive que dividir as picagens em várias folhas (f1,f2,f3,f4,f5).

para evitar codigos de barras duplicados eu já uso a formula de repetição. o problema é que a formula só funciona naquela página e não cruza com a informação que está nas outras folhas.

procurava uma fórmula que me mostrasse naquele momento que aquele código de barras já foi introduzido por exemplo noutra folha.

obrigada
#69371
JOSEBARBOSA, Bom Dia.

O correto é voce postar um poste seu, leia as regras deste fórum.

No seu poste poste um modelo com dados fictícios e tambem qual é a versão do seu Excel

Assim fica mais fácil ajudar voce e testar as formula

Decio
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord