O Excel provavelmente não é a melhor maneira de fazer isso, mas eu consegui. Veja alguns dados de amostra que inventei e os resultados das minhas fórmulas:
(A imagem acima é um link para uma imagem maior, que mostra as colunas auxiliares ocultas.)
Eu assumi a existência de uma coluna Date que era de um nível aceitável de granularidade.
Aqui estão as fórmulas:
AA2: =VLOOKUP($A2, $A3:$C$22, 2, FALSE)* Note:$A3, not$A2.AB2: =$AA2-$B2AC2: =VLOOKUP($A2, $A3:$C$22, 3, FALSE)AD2: =IF($AB2>0, $A2, "")AE2: =IF($AB2>0, $AC2, "")AF2: =IF($AB2<0, $A2, "")AG2: =IF($AB2<0, $AC2, "")AH2: =IF($AB2>0, IFERROR(VLOOKUP($AD2, $AD3:$AE$22, 2, FALSE), ""), "")AI2: =IF($AB2>0, IFERROR($AH2-$AC2,""), "")AJ2: =IF($AB2>0, IFERROR(VLOOKUP($AD2, $AF3:$AG$22, 2, FALSE), ""), "")AK2: =IF($AB2>0, IFERROR($AJ2-$AC2,""), "")AL2: =IF($AB2<0, IFERROR(VLOOKUP($AF2, $AF3:$AG$22, 2, FALSE), ""), "")AM2: =IF($AB2<0, IFERROR($AL2-$AC2,""), "")X2: =AVERAGEIFS($AI$2:$AI$16, $A$2:$A$16, "="&$W2, $AB$2:$AB$16, ">0")Y2: =AVERAGEIFS($AK$2:$AK$16, $A$2:$A$16, "="&$W2, $AB$2:$AB$16, ">0")Z2: =AVERAGEIFS($AM$2:$AM$16, $A$2:$A$16, "="&$W2, $AB$2:$AB$16, "<0")
Suponho que você tenha alguma forma de preencher a coluna W com os nomes de itens de inventário exclusivos.
22 representa a última linha que possui dados.
Explicação:
- As colunas cor-de-rosa,
AA:AC, mapeiam para a próxima transação do item identificado nas colunasA:Cda linha atual. Por exemplo,AA2:AC2mapeie paraA4:C4. A colunaDeltamostra a alteração no inventário entre essas duas transações. Você poderia definirAB2como=VLOOKUP($A2, $A3:$C$22, 2, FALSE) - $B2e excluir a colunaAA; Eu acredito que este caminho é mais claro. - As colunas laranja (
AD:AG) dividem os pares de transações das colunasAA:ACem compras (AD:AE) e vendas (AF:AG), com base no fato de o delta do inventário ser positivo ou negativo e replicar o item nome da colunaA. - As colunas verdes claras (
AH:AI) mapeiam cada compra para a próxima compra do mesmo item e calcular o número de dias entre eles. Então, por exemplo,AH2éAE8(que éC10) eAI2éAE8-AE2(ou seja,C10-C4). - As colunas verdes mais escuras (
AJ:AK) mapeiam cada compra para a próxima venda do mesmo item e calculam o número de dias entre elas. - As colunas azuis (
AL:AM) mapeiam cada venda para a próxima venda do mesmo item e calculam o número de dias entre elas.