Cómo eliminar valores extremos de un rango de datos, para efectos estadísticos

Tengo un rango de datos bastante extenso en excel. Una sola columna.

Cuando gráfico los datos, veo que hay puntos que se alejan mucho de la media y eso afecta el análisis estadístico.

Cómo puedo eliminar, por ejemplo, ¿el 10% de los valores más altos y el 10% de los valores más bajos? Eso, sin necesidad de reordenar la columna, pues el orden de los datos es importante.

Espero haberme explicado bien. Ojalá puedan ayudarme.

1 Respuesta

Respuesta
1

Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: pinta
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub minmax()
'por.dam
cant = Application.Count(Range("A:A"))
pormin = 10
pormax = 10
elemin = Round(cant * pormin / 100)
elemax = Round(cant * pormax / 100)
kesmin = Application.Small(Range("A:A"), elemin)
kesmax = Application.Large(Range("A:A"), elemax)
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(i, "A") <= kesmin And contmin < elemin Then
        Cells(i, "A").Offset(0, 1) = "x"
        contmin = contmin + 1
    End If
    If Cells(i, "A") >= kesmax And contmax < elemax Then
        Cells(i, "A").Offset(0, 1) = "x"
        contmax = contmax + 1
    End If
Next
    Columns("A:B").Select
    ActiveSheet.AutoFilterMode = False
    Selection.AutoFilter
    Selection.AutoFilter Field:=2, Criteria1:="x"
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
End Sub

Saludos.Dam

genial... el propósito se cumple muy bien.

Me hubiese gustado que el resultado filtrado saliera en una nueva columna, pero eso es solo un detalle...

genial

muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas