Execute um cálculo n vezes e some os resultados (sem VBA)

1

Estou procurando uma maneira de somar o resultado de um cálculo realizado um número arbitrariamente grande de vezes.

Suponha que eu tenha 15.000 clientes, cada um dos quais gastará entre $ 100 e $ 200, e quero calcular a receita total.

Então eu quero calcular Int (Randbetween (100.200)) 15.000 vezes e somar os resultados.

Por vários motivos, não quero fazer isso: - repetindo a fórmula em 15.000 células - usando uma referência circular e a iteração integrada do Excel - usando o código VBA - usando um suplemento de Monte Carlo

Eu tenho um palpite de que há uma solução simples e elegante, mas está me iludindo.

    
por TvG 18.09.2014 / 13:56

2 respostas

1

Para que esse cálculo funcione em uma célula, a matriz preenchida aleatoriamente teria que ser preenchida com um número diferente em cada linha. Pelo que posso dizer, o Excel não funciona dessa maneira. A fórmula RANDBETWEEN () usa o mesmo número em todas as linhas da matriz.

Por exemplo:

Eu inseri a fórmula abaixo em uma célula em uma planilha em branco.

= RANDBETWEEN (100,200) e A1: A10

Eu destaquei toda a fórmula e pressionei F9 para calcular na barra de fórmulas. Excel retornado:

{"180"; "180"; "180"; "180"; "180"; "180"; "180"; "180"; "180"; "180"}

Se houver uma fórmula que force o Excel a gerar um novo número a cada linha, isso poderia ser usado.

    
por 20.09.2014 / 01:17
0

Supondo que a coluna A da sua planilha não contenha dados, você pode usar a seguinte fórmula para calcular a soma de 15.000 números aleatórios entre 100 e 200.

Coloque esta fórmula na célula B1

=SUMPRODUCT(($A1:$A15000="")*RANDBETWEEN(100,200))

Se você estiver usando a coluna A , sugiro ocultá-la, pois todas as linhas precisam ser mantidas em branco na coluna escolhida. Por esse motivo, posso ficar tentado a usar uma coluna como ZZ ou a última coluna disponível.

Adição:

Como alternativa, isso pode parecer uma solução melhor em termos de manipulação de suas variáveis:

SUMPRODUCT((OFFSET($A$1,,,15000)="")*RANDBETWEEN(100,200))
    
por 19.09.2014 / 16:34