MEDIA DE UM CONJUNTO DE NUMEROS
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.
1
2
3
2
1
0
4
Media de: 2 Formula do Excel: =MED(A1:A7)
Alguem Sabe como Calcular essa média?
Obrigado.
Soma tudo e divide pelo número de argumentos. (1+2+3+2+1+0+4) / 7
Fiz essa função no NOTEPAD, mas acho que funcionaria
Usando
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)
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.
Tem de saber qual o tipo de média você está querendo calcular.
é como o KERPLUNK escreveu:
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.
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.
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?
Seria a media aritmética mesmo?
Se você for usar isso via banco, você pode fazer algo assim:
SELECT AVG(DATEDIFF(DAY, data_vencimento, GETDATE())) AS DIFERENCA FROM tabela
SELECT AVG(DATEDIFF(DAY, data_vencimento, GETDATE())) AS DIFERENCA FROM tabela
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
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