Access - Promediar campos

 
Vista:

Promediar campos

Publicado por Belisario (1 intervención) el 21/02/2006 19:24:18
Por favor si me pueden ayudar a encontrar la forma sencilla de promediar varios campos en que alguno de ellos sea blanco o cero. ( sumatoria de campos)/ (el total de campos - campos en blanco)

Aclaro: el campo será cero si la condición es mal evaluada, por lo tanto este campo influye en el promedio.
El campo será blanco si no se evaluó dicha condición, en este caso este campo no deberá afectar el promedio ( se divide por el total de campos menos los campos en blanco)

Muchas gracias a quienes puedan ayudar con este problemita que no es tan sencillo al parecer viendo las notas anteriores.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cálculo del promedio de varios campos, teniendo en cuenta campos en blanco o cero

Publicado por Alejandro (4142 intervenciones) el 21/06/2023 16:13:49
Para calcular el promedio de varios campos en Access, teniendo en cuenta que algunos de ellos pueden estar en blanco o tener un valor de cero, puedes seguir estos pasos:

1. Determina la cantidad total de campos que participarán en el cálculo del promedio.
2. Recorre cada campo y verifica si está en blanco o tiene un valor de cero.
3. Lleva un contador de la cantidad de campos no en blanco ni cero y también una variable para la suma de los valores de esos campos.
4. Suma el valor de cada campo no en blanco ni cero a la variable de suma y aumenta el contador.
5. Al finalizar el recorrido, calcula el promedio dividiendo la suma de los valores entre la cantidad de campos no en blanco ni cero.

A continuación, se muestra un ejemplo en VBA de cómo implementar este cálculo de promedio teniendo en cuenta campos en blanco o cero:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Function CalcularPromedio() As Double
    Dim totalCampos As Integer
    Dim sumaValores As Double
    Dim contador As Integer
 
    totalCampos = 5  ' Ejemplo: 5 campos en total
 
    ' Recorre cada campo
    If Nz(Me.Campo1.Value, 0) <> 0 Then
        sumaValores = sumaValores + CDbl(Me.Campo1.Value)
        contador = contador + 1
    End If
 
    If Nz(Me.Campo2.Value, 0) <> 0 Then
        sumaValores = sumaValores + CDbl(Me.Campo2.Value)
        contador = contador + 1
    End If
 
    ' Continuar verificando los demás campos...
 
    ' Calcula el promedio
    If contador > 0 Then
        CalcularPromedio = sumaValores / contador
    Else
        CalcularPromedio = 0
    End If
End Function

Puedes adaptar este ejemplo a tu formulario y tabla en Access, reemplazando los nombres de los campos y ajustando la cantidad total de campos según tus necesidades.

Con esta solución, podrás calcular el promedio de varios campos, considerando los campos en blanco o cero como se requiere en tu problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar