none
Somar Produto com Vetor de Intervalor x Vetor de Critério RRS feed

  • Pergunta

  • A função abaixo, realiza quase que idealmente o calculo que necessito porém tenho o seguinte problema:

    Onde se lê "A4" na célula é o código de um item porém de b4 à z4 tenho códigos equivalentes para o mesmo item, gostaria de algo como "A4:Z4" no lugar porém dá erro.

    =SOMARPRODUTO((MOV_SALD_TERC!$A:$A=A4)*((MOV_SALD_TERC!$F:$F="Rem")+(MOV_SALD_TERC!$F:$F="Rem S/M"))*(MOV_SALD_TERC!$B:B<=$AF$1);MOV_SALD_TERC!$D:$D)

    Tentei incluir no cálculo a condição ou através do caracter "+" na fórmula (que ficou gigante e esta abaixo). Tenho 100 células que recebem a fórmula, ou seja, 100 itens e na planilha de relatório de onde puxo os dados e realizo a soma tem cerca de 80000 linhas. Ficou lento d+!!!! Tenho como agilizar o cálculo otimizando a fórmula abaixo?

    =SOMARPRODUTO(((MOV_SALD_TERC!$A:$A=A4)+(MOV_SALD_TERC!$A:A=B4)+(MOV_SALD_TERC!$A:A=C4)+(MOV_SALD_TERC!$A:A=D4)+(MOV_SALD_TERC!$A:A=E4)+(MOV_SALD_TERC!$A:A=F4)+(MOV_SALD_TERC!$A:A=G4)+(MOV_SALD_TERC!$A:A=H4)+(MOV_SALD_TERC!$A:A=I4)+(MOV_SALD_TERC!$A:A=J4)+(MOV_SALD_TERC!$A:A=K4)+(MOV_SALD_TERC!$A:A=L4)+(MOV_SALD_TERC!$A:A=M4)+(MOV_SALD_TERC!$A:A=N4)+(MOV_SALD_TERC!$A:A=O4)+(MOV_SALD_TERC!$A:A=P4)+(MOV_SALD_TERC!$A:A=Q4)+(MOV_SALD_TERC!$A:A=R4)+(MOV_SALD_TERC!$A:A=S4)+(MOV_SALD_TERC!$A:A=T4)+(MOV_SALD_TERC!$A:A=U4)+(MOV_SALD_TERC!$A:A=V4)+(MOV_SALD_TERC!$A:A=W4)+(MOV_SALD_TERC!$A:A=X4)+(MOV_SALD_TERC!$A:A=Y4)+(MOV_SALD_TERC!$A:A=Z4))*((MOV_SALD_TERC!$F:$F="Rem")+(MOV_SALD_TERC!$F:$F="Rem S/M"))*(MOV_SALD_TERC!$B:B<=$AF$1);MOV_SALD_TERC!$D:$D

    Socorro! ...rs

    terça-feira, 29 de outubro de 2013 18:12

Respostas

  • Olá Felipe,

    Desculpe pela demora, acabei me sobrecarregando de atividades.

    Resolvi o problema trocando as equivalências dos códigos com um procv na origem dos dados com uma tabela auxiliar. Assim o tempo de cálculo da planilha foi otimizado para menos de 1 min.

    De qualquer forma obrigado pela atenção e ajuda.

    Att,

    Cristiano

    • Marcado como Resposta Tomadon quarta-feira, 22 de janeiro de 2014 11:06
    quarta-feira, 22 de janeiro de 2014 11:06

Todas as Respostas

  • A fórmula abaixo é matricial, portanto, deve ser entrada com Ctrl+Shift+Enter:

    =SE(SOMA(CONT.SE(MOV_SALD_TERC!$A:$A;A4:Z4));1;0)*...(colunas que multiplicarão a condição)


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 29 de outubro de 2013 21:09
    Moderador
  • A fórmula abaixo é matricial, portanto, deve ser entrada com Ctrl+Shift+Enter:

    =SE(SOMA(CONT.SE(MOV_SALD_TERC!$A:$A;A4:Z4));1;0)*...(colunas que multiplicarão a condição)


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá Felipe, obrigado pelo retorno e atenção.

    Não deu certo, pois me retornou o valor 1.

    Minha Fórmula ficou assim, os valores que quero somar estão na coluna D, porém quero valores onde na coluna B sejam menorores do que a data em AF1 com mais 1 critério de que sejam valores que também tenham na coluna F ou "Rem" ou Rem S/M".

    =SE(SOMA(CONT.SE(MOV_SALD_TERC!$A:$A;A4:Z4));1;0)*((MOV_SALD_TERC!$F:$F="Rem")+(MOV_SALD_TERC!$F:$F="Rem S/M"))*(MOV_SALD_TERC!$B:B<=$AF$1)*(MOV_SALD_TERC!$D:$D)

    Onde posso estar errando?

    Att, Cristiano

    quinta-feira, 31 de outubro de 2013 16:11
  • Pensei em algo como

    =SOMASES(MOV_SALD_TERC!$D:$D;MOV_SALD_TERC!$A:$A;$A4;MOV_SALD_TERC!$B:$B;"<="&$AF$1;MOV_SALD_TERC!$F:$F;"Rem*")

    resulta em 1012

    Só que quando Substituo $A4 por $A4:$Z4

    resulta em 0 (Incorreto, pois se acrescentei o intevalo o valor de 1012 deveria ser incrementado)

    Seria satisfatório porém não ideal se você possivel inserir um ou =SOMASES(MOV_SALD_TERC!$D:$D;MOV_SALD_TERC!$A:$A;OU($A4;$B4:$C4... e asism por diante.

    mas também resultaria em 0.

    quinta-feira, 31 de outubro de 2013 17:44
  • Experimente:

    =SE(SOMA(CONT.SE(MOV_SALD_TERC!$A:$A;A4:Z4)*((MOV_SALD_TERC!$F:$F="Rem")+(MOV_SALD_TERC!$F:$F="Rem S/M"))*(MOV_SALD_TERC!$B:B<=$AF$1));1;0)*(MOV_SALD_TERC!$D:$D)


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 31 de outubro de 2013 20:01
    Moderador
  • Olá Felipe.

    Mesmo com esta fórmula continua retornando "0"

    Cristiano

    sexta-feira, 1 de novembro de 2013 16:55
  • Nesse caso, peço a gentileza de disponibilizar uma parte de sua pasta de trabalho que exemplifique o problema que estamos tendo para eu analisar.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sábado, 2 de novembro de 2013 12:37
    Moderador
  • Olá Felipe,

    Desculpe pela demora, acabei me sobrecarregando de atividades.

    Resolvi o problema trocando as equivalências dos códigos com um procv na origem dos dados com uma tabela auxiliar. Assim o tempo de cálculo da planilha foi otimizado para menos de 1 min.

    De qualquer forma obrigado pela atenção e ajuda.

    Att,

    Cristiano

    • Marcado como Resposta Tomadon quarta-feira, 22 de janeiro de 2014 11:06
    quarta-feira, 22 de janeiro de 2014 11:06