Realizar cálculos por célula a célula

0

É possível calcular em uma base de célula por célula?

Estou tentando somar os valores em um intervalo de colunas E10:E610 que estão entre 11.538 e 34.760 e, em seguida, calculo 5.6% neles. No entanto, para equilibrar com outro documento, eu precisaria encontrar 5,6 por cento de cada número individualmente nesse intervalo e arredondá-los individualmente.

Por quê? O arquivo com o qual devo me equilibrar faz os cálculos e arredondamentos individualmente nos números, então meus cálculos estão um pouco errados. Por exemplo, 5,6% de 23.726 são 1.328,6 e o arredondado é 13.327. Se eu tiver 5 ocorrências de 23.726 no meu arquivo atual, o resultado será 6.643,28, pois o Excel adicionará 1.328,6 cinco vezes e, em seguida, encontrará 5,6%.

No entanto, o arredondamento individualmente resultará em 6.645. Alguma ajuda?

=ROUND(IF(J5="Yes",SUMPRODUCT((E10:I610>11538)*(E10:I610<=34760)*(A10:A610="No")‌​,E10:I610)*0.056+(COUNTIF(E10:I610,">34760")*34760)*0.056,""),0)

Acabei de perceber que a rodada é feita em toda a soma. Posso de alguma forma calcular por célula e round por célula também?

Talvez eu tenha que usar o VBA ...

    
por nigel carter 22.06.2013 / 02:25

1 resposta

2

Uma maneira de fazer um arredondamento individual de números em um intervalo é usar uma fórmula de matriz.

Aqui está um exemplo simples. Colunas A: Eu mostro os resultados do arredondamento individual de cada quantidade com o fator .056 e somando os resultados dos produtos arredondados.

A célula M7 mostra o mesmo resultado usando uma fórmula: =SUM(ROUND(K4:L6*.056,0)) Como você pode ver, a função ROUND tem como primeiro argumento o produto de todo o intervalo de números com .056, com 0 como segundo. (O erro de arredondamento para este pequeno exemplo é de aproximadamente 0.8.) Como uma fórmula de matriz, a expressão deve ser digitada com a tecla CTRL - Shift - Enter combinação de teclas.

Emborasuafórmulasejamuitomaiscomplicada,omesmométodoaindapodeseraplicado,emboratalveznãosejapossívelusarSUMPRODUCTcomovocêtem.VocêusariaapenasSUM.(Olhandoapenasparao'SUMPPRODUCT(....)*.056peça,euprovavelmentefariaalgocomo

=SUM((E10:I610>11538)*(E10:I610<=34760)*(A10:A610="No")*ROUND(E10:I610*0.056,0)) 
    
por 22.06.2013 / 03:37