Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Histograma

Histograma en Excel

| Sin comentarios

Un histograma de frecuencias se emplea principalmente con variables cuantitativas continuas; sin embargo, también se puede emplear con variables discretas. De hecho, esta es la razón por la que las barras tienen que estar juntas. Un ejemplo de variable cuantitativa continua es la altura, que es el que usaremos ahora.

El primer paso para construir un histograma de frecuencias es contar con una tabla de frecuencias. En este se señalarán los intervalos que representarán a los valores contenidos en cada barra. Si estos intervalos no se encuentran señalados se pueden calcular mediante la regla de Sturges.

Descargar archivo con ejemplo de: Histograma en Excel

En el archivo anexado se encuentra la aplicación de esta para poder formar la tabla de frecuencias, los datos empleados para la construcción del Histograma están en la hoja "Construir Tabla de Frecuencias"

Para generar el histograma de frecuencias vamos a tomar la siguiente tabla de frecuencias como ejemplo:

Tabla Histograma en Excel

 

Simplemente se debe seleccionar los valores que conforman las columnas “Intervalos” y “Frecuencias” y a partir de eso crear un gráfico de columnas agrupadas en 2D. A partir de ahí solo debe modificar el ancho del rango del predeterminado a 0%. De preferencia también se debería modificar el borde de las barras; sin embargo, esto no es indispensable. El gráfico final con las modificaciones indicadas sería este:

Histograma en Excel

 

Es un proceso relativamente sencillo. La mayor dificultad de la construcción de un histograma es la recolección de datos y la creación de la tabla de frecuencias.

 

Histograma en Excel con VBA

Para poder automatizar este proceso mediante el uso del lenguaje VBA lo más importante es que se adapte al número de intervalos que se desee sin plantear modificaciones. El código planteado, como se podrá ver, funcionará en la hoja activa; sin embargo, debe ser modificada la celda inicial de cada caso.

En la primera línea ordenamos la creación del tipo de gráfico que deseamos. En este caso, optamos por el mismo gráfico del anterior ejemplo, barras separadas. Luego mediante el uso del siguiente texto conseguimos brindar la información que queremos representar en el gráfico.

ActiveChart.SetSourceData Source:=Range("B5", Range("B5").End(xlDown).End(xlToLeft))

Con ello, no limitamos la información del gráfico a un rango determinado, sino que, si son necesarios 20 o 30 intervalos, también serán considerados.

A partir de ahí se procede con la titulación del gráfico y con los aspectos técnicos/estéticos del gráfico, como el color del relleno y del borde, así como de la separación de las barras con la orden:

ActiveChart.ChartGroups(1).GapWidth = 0

Algunos de los códigos relevantes para que la macro que genera el histograma se pueda ejecutar varias veces son

Macro para borrar los histogramas previos:  

Sub borrar()

If ActiveSheet.ChartObjects.Count > 0 Then

   ActiveSheet.ChartObjects.Delete

End If

End Sub

Esta macro "borrar" , permite borrar los histogramas previos (en la hoja activa), esta actividad es necesaria para que luego de cada ejecución solo tengamos un histograma.

Macro para acomodar el tamaño y ubicación del Histograma

Con el siguiente código es  posible cambiar el ancho, alto,  distancia desde la izquierda, y desde la parte superior (en ese orden) 

Sub ubicar()

ActiveSheet.ChartObjects(1).Width = 300

ActiveSheet.ChartObjects(1).Height = 200

ActiveSheet.ChartObjects(1).Left = 250

ActiveSheet.ChartObjects(1).Top = 100

End Sub

Histograma en Excel en otra hoja

El código empleado se ejecuta sobre la hoja activa, solo teniendo como requisito que los datos del histograma comiencen en la celda B5. 

Con la siguiente información (en la segunda hoja):

Tabla Histograma en Excel

Se conseguirá el siguiente gráfico:

Histograma de Frecuencias

El uso de esta macro permitiría obtener el siguiente gráfico para el primer ejemplo señalado.

Artículo creado con el apoyo de: Leonardo Silva

Deja una respuesta

Los campos requeridos estan marcados con *.