Soma dos valores para critérios de texto únicos + outros critérios

1

Estou com dificuldade para criar uma fórmula que terá uma coluna de preços e retornará a soma desses valores somente se outra coluna contiver uma sequência exclusiva e durante um determinado período de tempo e com um tipo especificado.

Os dados contêm nomes de clientes , datas , tipos de transação e valores de transações . Consegui obter o número de valores únicos em um determinado período de tempo que atende aos meus critérios com esta equação:

=SUM(--(FREQUENCY(IF(Table13[Contract/Offer Date]<=EOMONTH(A12,0),IF(Table13[Contract/Offer Date]>=A12,IF(Table13[Type of Transaction]="Offer",IF(Table13[Client]<>"",IF(Table13[Client]=Table13[Client],MATCH(Table13[Client],Table13[Client],0)))))),ROW(Table13[Client])-ROW(C$20)+1)>0))

A12 é o mês em que estou somando, C20 é onde os dados começam.

Para A12 (outubro de 2016), recebo uma contagem única de 33 . O que preciso é a soma dessas 33 linhas da coluna: table13 [contract / offer amount]

Eu tentei essa fórmula, mas retornei resultados imprecisos:
=SUM(IF(Table13[Contract/Offer Date] <=EOMONTH(A12,0),IF(Table13[Contract/Offer Date]>=A12,IF(Table13[Type of Transaction]="Offer",IF(Table13[Client] <>"",IF(Table13[Client]=Table13[Client],MATCH(Table13[Client],Table13[Client],0))),Table13[Contract/Offer Amount]))))

Os dados do cliente contêm algumas células vazias, portanto, é importante corrigir isso.

Sei que a fórmula acima está errada porque os valores de Contrato / oferta estão na posição "Valor se Falso" da fórmula, mas esta é a mais próxima que obtive.

Qualquer ajuda seria muito apreciada e deixe-me saber se você precisar de mais detalhes / esclarecimentos. Completamente preso.

UPDATE:

Aoretornarparaasomainicial,se,naequaçãodefrequência,euconseguisseretornar"quase" as respostas corretas. A contagem exclusiva é assim: =SUM(IF(FREQUENCY(IF(Table13[Contract/Offer Date]<=EOMONTH(A12,0),IF(Table13[Contract/Offer Date]>=A12,IF(Table13[Type of Transaction]="Offer",IF(Table13[Client]<>"",MATCH(Table13[Client],Table13[Client],0))))),ROW(Table13[Client])-ROW(C$21)+1),1))

Substituindo os valores da oferta no lugar do final "1", estou retornando resultados quase corretos.

=SUM(IF(FREQUENCY(IF(Table13[Contract/Offer Date]<=EOMONTH(A12,0),IF(Table13[Contract/Offer Date]>=A12,IF(Table13[Type of Transaction]="Offer",IF(Table13[Client]<>"",MATCH(Table13[Client],Table13[Client],0))))),ROW(Table13[Client])-ROW(C$21)+1),Table13[Contract/Offer Amount]))


O que não está claro é por que isso está funcionando apenas parcialmente. Estou imaginando os resultados da fórmula de frequência construindo uma matriz de 1s e 0s que estão sendo multiplicados pelas quantidades de oferta. Isso está correto?

    
por Joe MV 08.02.2017 / 22:30

1 resposta

0

ORIGINAL

Então, vou responder a esta pergunta:

construct a formula that will take a column of prices, and return the sum of those values only if another column contains a unique string, and during a certain time period and with a specified type

Assumindo o seguinte:

  • "Cliente" desejado está em A1 (usei cliente3 )
  • "Início do período" está em B1 ( 11/20/2016 )
  • "Fim do período de tempo" está em C1 ( 11/30/2016 )
  • "Tipo" está em D1 ( Oferta )

Então, esta fórmula:

=SUMPRODUCT(--(Table13[Client]=A1)*--(Table13[Contract/Offer Date]>=B1)*--(Table13[Contract/Offer Date]<=C1)*--(Table13[Type of Transaction]=D1)*Table13[Contract/Offer Amount])

Retorna $ 402.000.

UPDATE

Tentando detalhar esta fórmula:

=SUM(IF(
  FREQUENCY(
    IF(Table13[Contract/Offer Date]<=EOMONTH(A12,0),
      IF(Table13[Contract/Offer Date]>=A12,
        IF(Table13[Type of Transaction]="Offer",
          IF(Table13[Client]<>"",
            MATCH(Table13[Client],Table13[Client],0)
      )))),
    ROW(Table13[Client])-ROW(C$21)+1),
  Table13[Contract/Offer Amount]
))

Ele encontrará a frequência de todos os clientes que correspondem aos critérios (em um determinado mês e apenas ofertas). Dois problemas aqui.

  1. FREQUENCY também retornará a frequência de todos os clientes não contabilizados. Isso lhe dará um índice extra quando você tentar SUM com o "Valor".
  2. Se você corrigiu o problema 1, estará somando o primeiro "Valor" desse cliente (que provavelmente está fora do intervalo de datas condicional).
por 13.02.2017 / 21:16