Notifications
Clear all

[Resolvido] Trazer status mais recente em duplicidades com condições

17 Posts
3 Usuários
1 Reactions
1,755 Visualizações
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 

Boa tarde!

Preciso da ajuda de vcs....

Tenho códigos duplicados que preciso trazer o último status para todas as linhas dele.
Eu preciso trazer o status da coluna E para uma nova coluna mas considerando o status mais recente de acordo com a data na coluna B e se a informação da coluna D for "Envio obrigatório de doc". 

Se for outra informação na coluna D deve desconsiderar os dados dessa linha para trazer o status mais recente.

Na coluna F tem a fórmula que eu fiz mas ela não funciona quando precisa desconsiderar a informação da coluna D.
Na coluna E escrevi qual deveria ser o resultado desta fórmula.

 
Postado : 23/09/2022 4:33 pm
daphne
(@daphne)
Posts: 94
Estimable Member
 

@tbravo qual sua versão do excel?

 
Postado : 23/09/2022 9:00 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

Experimente:

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";PROC(2;1/(LOCALIZAR("Envio";[Comissão envio dco]&"*"))/([MSISDN]=[@MSISDN]);([Status detalhado2])))

Osvaldo

 
Postado : 24/09/2022 11:53 am
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 

@daphne é 2019

 
Postado : 25/09/2022 5:46 pm
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 

@osvaldomp sua fórmula funciona mas só considera o status. Eu preciso que leve em conta também a coluna B da data. Por exemplo, se alterar a data de B8 para 06/09 o status a considerar seria green, ele passa a ser o mais recente e quando altero essa data neste arquivo, não ocorre a alteração do status na fórmula.

 
Postado : 25/09/2022 5:53 pm
(@osvaldomp)
Posts: 857
Prominent Member
 
Postado por: @tbravo
@osvaldomp sua fórmula funciona mas só considera o status. Eu preciso que leve em conta também a coluna B da data.

Sim, considera a data. É que a fórmula faz a busca de baixo para cima, tendo em vista que as datas que você colocou na coluna B para cada item da coluna A estão em ordem crescente no modelo que você postou, e ao alterar a data em B8 você alterou a ordem.

Experimente a nova fórmula abaixo que deve funcionar independente da ordem das datas.

A propósito, os resultados esperados que você colocou em G2:G4 não deveriam ser Green no lugar de Liberado?

"Liberado" está em E4, porém B4 está vazia, então B4 não é a data mais recente, e sim B3 e B2, que correspondem a Green na coluna E.

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0)))

Osvaldo

 
Postado : 25/09/2022 9:58 pm
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 
Postado por: @osvaldomp

A propósito, os resultados esperados que você colocou em G2:G4 não deveriam ser Green no lugar de Liberado?

Quando não possui data da Última Modificação do Status ou não possui status é  considerado liberado. Posteriormente o green tb será o mesmo que liberado.

 

Coloquei a nova fórmula na coluna H e resultou green para tudo, exceto para "Não envia doc para comissão"....

 

PS: muito obrigada pela sua atenção com meu tópico. Está sendo de grande valia, estou a dias parada no mesmo ponto do relatório por causa dessas regras todas... 

 
Postado : 26/09/2022 2:31 pm
daphne
(@daphne)
Posts: 94
Estimable Member
 

Para obter o status "Liberado" quando não possuir a data da Última Modificação do Status ou Status, você pode adicionar mais uma condição SE na fórmula do nosso amigo acima, @Osvaldomp.

Por exemplo:

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(PROC(2;1/([MSISDN]=A2);[Data da Última Modificação do Status])="";"Liberado";SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0)))))

 

 Veja no arquivo a baixo, na coluna H:

 
Postado : 26/09/2022 4:50 pm
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 

@daphne Obrigada, mas a questão deste status já está resolvido no meu relatório. O que preciso neste momento é retornar o mais recente de acordo com a data. Como na regra do processo liberado e green serão a mesma coisa e devo considerar o liberado como último e o excel retorna o liberado como último não preciso mexer mais nessa condição.

 
Postado : 26/09/2022 5:08 pm
(@osvaldomp)
Posts: 857
Prominent Member
 
Postado por: @tbravo

Quando não possui data da Última Modificação do Status ou não possui status é  considerado liberado.

Na fórmula abaixo eu adicionei esse novo critério.

Posteriormente o green tb será o mesmo que liberado. ~~~> Isso eu não entendi.

 

Coloquei a nova fórmula na coluna H e resultou green para tudo, exceto para "Não envia doc para comissão"....

A fórmula que você colocou em H está diferente da fórmula que passei.

Experimente esta abaixo. Já está com a nova condição que você informou acima, então irá retornar "Liberado" se ou data ou critério estiver vazio para um dado item da coluna A.

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(CONT.SES([MSISDN];[@MSISDN];[Data da Última Modificação do Status];"")+CONT.SES([MSISDN];[@MSISDN];[Status detalhado2];"")>0;"Liberado";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0))))

Osvaldo

 
Postado : 26/09/2022 5:40 pm
(@osvaldomp)
Posts: 857
Prominent Member
 
Postado por: @tbravo

Quando não possui data da Última Modificação do Status ou não possui status é  considerado liberado.

Essa condição você não havia comentado antes. Está incluída na fórmula abaixo.

Posteriormente o green tb será o mesmo que liberado.~~~> Isto eu não entendi.

 

Coloquei a nova fórmula na coluna H e resultou green para tudo, exceto para "Não envia doc para comissão"....

 A fórmula que você colocou em H está diferente da fórmula que passei.

 

Experimente a fórmula abaixo. Acrescentei nela a nova condição: se ou a data ou o status estiverem vazios em alguma linha de certo item da coluna A, então a fórmula retornará "Liberado" para aquele item.

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(CONT.SES([MSISDN];[@MSISDN];[Data da Última Modificação do Status];"")+CONT.SES([MSISDN];[@MSISDN];[Status detalhado2];"")>0;"Liberado";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0))))

Osvaldo

 
Postado : 26/09/2022 5:55 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

Fiz trapalhadas ao postar e postei duas vezes. Veja a resposta mais acima.

https://planilhando.com.br/forum/community/postid/129600/

Osvaldo

 
Postado : 26/09/2022 6:10 pm
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 
Postado por: @osvaldomp
Postado por: @tbravo

Quando não possui data da Última Modificação do Status ou não possui status é  considerado liberado.

Essa condição você não havia comentado antes. Está incluída na fórmula abaixo.

Posteriormente o green tb será o mesmo que liberado.~~~> Isto eu não entendi.

 

Coloquei a nova fórmula na coluna H e resultou green para tudo, exceto para "Não envia doc para comissão"....

 A fórmula que você colocou em H está diferente da fórmula que passei.

 

Experimente a fórmula abaixo. Acrescentei nela a nova condição: se ou a data ou o status estiverem vazios em alguma linha de certo item da coluna A, então a fórmula retornará "Liberado" para aquele item.

=SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(CONT.SES([MSISDN];[@MSISDN];[Data da Última Modificação do Status];"")+CONT.SES([MSISDN];[@MSISDN];[Status detalhado2];"")>0;"Liberado";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0))))

@osvaldomp 

A questão do status liberado eu já tratei na coluna E, o que disse foi só para explicar quando vc perguntou se não deveria ser green para o primeiro código da planilha. Mas realmente não expliquei direito, me desculpa. Fiz o tratamento das células em branco na coluna E.

Para fórmula que estou precisando, considero já o status da coluna D. A questão do liberado é a seguinte: status liberado e sem data é considerado o liberado como mais recente. Se é liberado mas possui data na coluna B, segue a regra de replicar o status mais recente.

No exemplo da planilha, para o primeiro código, se o resultado da fórmula for green ou liberado para as 3 linhas estará certo porque futuramente, em outra tratativa do meu relatório, os dois estarão no mesmo critério.

Para o segundo código o resultado deve ser black para as 3 linhas porque este é o status com data mais recente na coluna B e essa última fórmula (abaixo) está trazendo green para as 3.

Para o terceiro código o resultado deve ser AbandonedApp para as duas primeiras porque este é o status com data mais recente na coluna B e a terceira linha dele deve ser Não envia doc... porque quando existe esta informação na coluna D o status e data desta linha deve ser desconsiderado na fórmula.

Não sei se é um ponto importante que eu já deveria ter mencionado, mas nem sempre a planilha estará com a coluna data ordenada, então se a única forma da fórmula funcionar for com coluna ordenada não tem problema, só preciso saber se terei que fazer esta tratativa antes de aplicar a fórmula no relatório pois se trata de uma base gigante.

 

É tudo muito confuso rs...

 

SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(CONT.SES([MSISDN];[@MSISDN];[Data da Última Modificação do Status];"")+CONT.SES([MSISDN];[@MSISDN];[Status detalhado2];"")>0;"Liberado";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0))))
 
Postado : 26/09/2022 7:11 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

@tbravo
Se entendi corretamente, a última fórmula que passei atende ao que você comentou aí acima. Você testou?

Quanto à ordenação das datas a fórmula irá funcionar em qualquer situação.

Osvaldo

 
Postado : 26/09/2022 7:50 pm
(@tbravo)
Posts: 0
Trusted Member
Topic starter
 

@osvaldomp Testei sim Osvaldo... ela está retornando green para o segundo código e deveria ser black e está retornando green tb para as duas primeiras linhas do terceiro código e deveria ser AbandonedApp.
Esta é a fórmula que vc enviou que estou usando SE([@[Comissão envio dco]]="Não envia doc para comissão";"Não envia doc para comissão";SE(CONT.SES([MSISDN];[@MSISDN];[Data da Última Modificação do Status];"")+CONT.SES([MSISDN];[@MSISDN];[Status detalhado2];"")>0;"Liberado";ÍNDICE([Status detalhado2];CORRESP(MÁXIMO(SE([MSISDN]=[@MSISDN];SE(ÉNÚM(LOCALIZAR("Envio";[Comissão envio dco]&"*"));[Data da Última Modificação do Status])));[Data da Última Modificação do Status];0))))

 
Postado : 27/09/2022 4:18 pm
Página 1 / 2