Notifications
Clear all

Somar, se o critério for diferente na outra coluna

8 Posts
2 Usuários
2 Reactions
1,964 Visualizações
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

Olá, Pessoal!

Estou tentando a soma dos valores em duas cols (J6:P20), quando
nas mesmas linhas de outra col (I6:I20) não aparecer o texto "Cancelado".

Tentei a fórmula =SOMASES(J6:P20;I6:I20;"<>" & "CANCELADO"), mas dá erro!

Segue um modelo: https://www.dropbox.com/scl/fi/944zl4s92thmy4d91f6mf/Somar-se-o-crit-rio-for-diferente-na-outra-coluna.xls?dl=0&rlkey=7hhlpnvni8ajixbvonpjqdabm

Grato pela atenção!
Orlando Souza

🧐

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 29/05/2021 7:20 pm
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

Caro, Moderador! Favor excluir o tópico anterior sobre o mesmo assunto.

Obrigado!

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 29/05/2021 7:22 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

@orlandos, boa noite.

Nem a função SOMASE, nem a SOMASES são indicadas para seu caso. Na documentação da SOMASES, por exemplo, está especificado que:

 

Use o mesmo número de linhas e colunas para argumentos de intervalo.

O argumento Intervalo_critérios deve conter o mesmo número de linhas e colunas que o argumento Intervalo_soma.

E essa mesma característica se aplica à sua prima, a SOMASE.

No seu problema, o Intervalo_critérios tem tamanho 15 Linhas x 1 Coluna enquanto o Intervalo_soma tem tamanho 15 x 7.

Você pode usar ao invés disso uma fórmula com expressão booleana para contornar esse problema, como por exemplo:

=SOMA(SEERRO((I6:I20<>"Cancelado")*J6:P20;0))

Observações:

  • A fórmula acima é Matricial, portanto finalize-a com CTRL SHIFT ENTER
  • Em seu intervalo K6:L20, os números 12 são na verdade textos (se quiser, pode comprovar isso com a função ÉTEXTO). Converta-os antes para número se for usá-los em outras fórmulas (a fórmula acima já faz essa conversão).

 
Postado : 29/05/2021 9:38 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Não é possível excluí-lo pois o link já não existe.

 
Postado : 29/05/2021 9:39 pm
OrlandoS reacted
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 
Postado por: @edsonbr

(...)

No seu problema, o Intervalo_critérios tem tamanho 15 Linhas x 1 Coluna enquanto o Intervalo_soma tem tamanho 15 x 7.

Você pode usar ao invés disso uma fórmula com expressão booleana para contornar esse problema, como por exemplo:

=SOMA(SEERRO((I6:I20<>"Cancelado")*J6:P20;0))

Observações:

  • A fórmula acima é Matricial, portanto finalize-a com CTRL SHIFT ENTER
  • Em seu intervalo K6:L20, os números 12 são na verdade textos (se quiser, pode comprovar isso com a função ÉTEXTO). Converta-os antes para número se for usá-los em outras fórmulas (a fórmula acima já faz essa conversão).

Essa fórmula dá um resultado diferente de 34,5

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 30/05/2021 11:30 pm
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

Eu só gostaria da soma dos valores nos intervalos J6:J20;P6:P20,

considerando a mesma linha no intervalo I6:I20 diferente de "Cancelado".

Tipo a fórmula abaixo, precisando acrescentar nela o intervalo_soma P6:P20:

=SOMASE(I6:I20;"<>CANCELADO";J6:J20)

 

Enquanto não aparece outra melhor, vou me virando com a seguinte:

=VALOR(SOMASE(I6:I20;"<>CANCELADO";J6:J20)+SOMASE(I6:I20;"<>CANCELADO";P6:P20))

 

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 30/05/2021 11:45 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 
 
Postado por: @orlandos

Essa fórmula dá um resultado diferente de 34,5

Logicamente, pois na sua questão inicial vc estipulou que o intervalo a ser somado era todo o range J6:P20 na condição em que I6:I20 era diferente de Cancelado. Isso incluiu também as colunas K até O, mesmo que ocultas, por isso a soma deu resultado bem maior.

Mas ficou claro agora, depois das novas postagens, que vc quer na verdade a soma condicional de somente duas dessas colunas (inclusive não adjacentes) desse intervalo, a J e a P, correto?

Pelo fato da SOMASE ou SOMASES não conseguir somar mais de um intervalo, adjacente ou não, nesse caso sua última fórmula - adição do resultado de duas SOMASE - seria de fato uma boa escolha. A única alteração que eu faria seria desprezar a função VALOR que nessa situação seria desnecessária, visto que a SOMASE por si só quando não traz resultado numérico somente poderá trazer valor de erro, nunca texto.

Obviamente também daria pra usar uma expressão booleana matricial de duas parcelas pra fazer o esperado, ao invés de usar a função SOMASE, mas desvantajosamente mais longa:

=SOMA(SEERRO((I6:I20<>"Cancelado")*J6:J20;0)
           +SEERRO((I6:I20<>"Cancelado")*P6:P20;0))

Também daria pra usar o truque da função ESCOLHER (ou da SE ou da SUBSTITUIR) pra transformar o intervalo não-adjacente em adjacente, aí fica uma só parcela na adição (matricial):

=SOMA(SEERRO((I6:I20<>"Cancelado")*ESCOLHER({1\2};J6:J20;P6:P20);0))

 

 
Postado : 31/05/2021 9:20 am
OrlandoS reacted
OrlandoS
(@orlandos)
Posts: 104
Estimable Member
Topic starter
 

Tb com CTRL SHIFT ENTER

Obrigado, @edsonbr!

🙂

PS: Se a resposta foi útil, clique na "mãozinha positiva" ou em "curtir" na fonte de link informada, agradecendo ao colaborador do código/fórmula. Eu já fiz a minha parte! :]

 
Postado : 31/05/2021 4:13 pm