MEDIA DE UM CONJUNTO DE NUMEROS

DELEON 30/08/2011 11:00:05
#382781
Olá, no excel temos a opção de calcular uma media em um conjunto de numeros, por ex:

1
2
3
2
1
0
4

Media de: 2 Formula do Excel: =MED(A1:A7)

Alguem Sabe como Calcular essa média?

Obrigado.
KERPLUNK 30/08/2011 11:14:43
#382784
Soma tudo e divide pelo número de argumentos. (1+2+3+2+1+0+4) / 7
ASHKATCHUP 30/08/2011 11:16:45
#382785
Resposta escolhida
Fiz essa função no NOTEPAD, mas acho que funcionaria


Private Function Media(ParamArray() Numeros as integer) as integer
dim i as integer
dim iMedia as integer
[ô]
For i = lbound(numeros) to ubound(numeros)
iMedia = iMedia + numeros(i)
next
[ô]
iMedia = iMedia / (UBound(numeros) - LBound(numeros) + 1)
[ô]
Media = iMedia
End Function


Usando

Msgbox Media(1,2,3,4,5,6,7,8)
GILMAR 30/08/2011 11:24:00
#382787
Depende. Se você fizer a conta vai ver que não dará 2. Na matemática existem outras formas de se calcular a média. Temos a média geométrica, a média ponderada e outras.
Tem de saber qual o tipo de média você está querendo calcular.
FEDERHEN 30/08/2011 13:51:02
#382811
é como o KERPLUNK escreveu:
Citação:

:
Soma tudo e divide pelo número de argumentos. (1+2+3+2+1+0+4) / 7



O resultado dá 13/7 = 1,857142857142857 porém, arredondando para nenhuma casa decimal, o resultado exibido é 2.

Isto é média aritmética.
Média ponderada não poderia ser, porque não envolve pesos para os parametros.
DELEON 30/08/2011 15:02:00
#382813
Estou querendo para colocar em um programa aonde tenho histórico do cliente, nele eu passo referencias dos clientes para as outras lojas que ligam pedindo, então vou pegar todas as parcelas pagar, calcular os dias de atraso de cada venda quitada, e passar uma media para a pessoa: ex media de 2,5 dias de atraso.

Seria a media aritmética mesmo?
NETMANIA 30/08/2011 15:14:37
#382814
Se você for usar isso via banco, você pode fazer algo assim:

SELECT AVG(DATEDIFF(DAY, data_vencimento, GETDATE())) AS DIFERENCA FROM tabela

FEDERHEN 31/08/2011 08:18:58
#382873
Citação:

:
Seria a media aritmética mesmo?



Sim, neste caso aplica-se a média aridmédica de dias de atraso para cada pagamento.

Exemplo:
Parcela 1 => Vencimento: 15/06/2011 => Pagamento: 25/06/2011 => 10 dias de atrazo
Parcela 2 => Vencimento: 15/07/2011 => Pagamento: 15/07/2011 => 0 dias de atrazo
Parcela 3 => Vencimento: 15/08/2011 => Pagamento: 10/08/2011 => -5 dias de atrazo

Cálculo da média de dias de atrazo: (10 + 0 - 5) / 3 = 5/3 = 1,67
FEDERHEN 31/08/2011 08:21:14
#382874
Citação:

:
SELECT AVG(DATEDIFF(DAY, data_vencimento, GETDATE())) AS DIFERENCA FROM tabela



Desculpe NETMANIA, mas a tua lógica não funciona, porque você está calculando a data de vencimento em comparação com a data do dia (GETDATE) e está ignorando a data do pagamento quando esse já ocorreu.
Tópico encerrado , respostas não são mais permitidas