Encontrar quais variáveis da soma resulta a um total "X"


#1

Boa tarde.

Pessoal poderiam me auxiliar?

Seguinte um fornecedor realiza o pagamento em deposito de varias notas fiscais juntas.

Exemplo simples, tenho 10 notas cadastras no meu sistema que ainda não foram pagas:
NFe1 = R$ 10,00
NFe2 = R$ 20,00
NFe3 = R$ 15,00
NFe4 = R$ 50,00
NFe5 = R$ 75,00
NFe6 = R$ 90,00
NFe7 = R$ 50,00
NFe8 = R$ 28,00
NFe9 = R$ 32,00
NFe10 = R$ 89,00

Exemplo ele pagou 4 notas de uma vez:

NFe2+NFe4+NFe7+NFe8=VALOR X
R$20+R$50+ R$50+R$28=R$148,00

ok, só que ele não me especifica quais foram as notas pagas, como e um portal eletrônico não, consigo suporte com o financeiro, para saber quais foram as notas pagas,

Então tenho que achar na mão, qual foram as notas testando combinações até achar,

O problema e que geralmente tenho mais de 30 notas cadastradas são muitas combinações que tenho que ir testando.

Resumindo, preciso saber quais, dos 10 valores somados resultaram no valor x que foi depositado.

Consigo com alguma função? estava pesquisando o somase , mas vi que com ele não tem jeito.


#2

Identificar pagamento olhando apenas valor é muito arriscado e pode trazer problemas para você e também para a empresa.

20 + 28 + 75 + 10 + 15 também são 148.

Nesse caso como iria saber quais notas realmente pertencem àquele fornecedor em específico?

Pensando logicamente, não vejo possibilidade. Porém, podemos tentar criar uma macro para tentar fazer combinações aleatórias até achar o valor total, sem considerar a quem a nota pertence.

Nesse caso estaríamos trabalhando com probabilidades no lugar de algo exato.


#3

@XxxmisaelxxX, veja se consegue resolver com o Solver: https://www.youtube.com/watch?v=lo6ynkDqed4&list=PLKUesa67X5hdvNKht1QeGiMdyEQZ3ZXJj&index=52