Excel Avanzado

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

Excel Avanzado

Tabla dinámica para evaluar el nivel de analfabetismo del Perú

| 1 comentario

Manejar información acerca del nivel de analfabetismo en el Perú es de vital importancia para el gobierno de nuestro  país y es de mucha utilidad poder focalizar los niveles de analfabetismo por departamentos, y siendo más específicos, por provincia y distrito. Esto le serviría mucho a quien analice los datos, y así pueda manejar una información resumida y clasificada en grupos pertinentes. Ejemplo : Partimos de la base de datos proporcionada por el Ministerio de Economía y Finanzas sobre el porcentaje de analfabetismo en el Perú según Departamento, Provincia y Distritos, separado en dos grupos según género, hombre y mujer. Organizaremos la información por medio de la creación de una tabla dinámica, esta resulta de mucha ayuda, ya que la base de datos es muy extensa. A continuación, la base de datos del nivel de analfabetismo, la cual consta de dos mil filas y seis columnas, en la imagen solo aparecen algunas filas.

Base de datos tarea 4

(Para mayor visualización de la imagen, hacer click en la misma)

Para la creación de la Tabla dinámica, abrimos el editor VBA, y escribimos el siguiente código:

  • Realizamos la declaración de las variables:

Sub Tabla_analfabetismo() Dim wsd1 As Worksheet Dim wsd2 As Worksheet Dim ptcache As PivotCache Dim pt As PivotTable Dim prange As Range Dim finalrow As Long

  • Establecemos la hoja de destino y limpiamos las tablas existentes en ella:

Set wsd1 = Worksheets("Hoja1") For Each pt In wsd1.PivotTables pt.TableRange2.Clear Next pt

  • Establecemos la hoja de origen y seleccionamos el rango de datos:

Set wsd2 = Worksheets("Datos") finalrow = wsd2.Cells(Rows.Count, 1).End(xlUp).Row Set prange = wsd2.Cells(5, 1).Resize(finalrow, 6) Sheets("Datos").Select Set ptcache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=prange.Address)

  • Señalamos el lugar donde se establecerá la tabla dinámica:

Set pt=ptcache.CreatePivotTable(tabledestination:=Worksheets("Hoja1").Range("B3"), tablename:="PivotTable2")

  • Elegimos el estilo de formato de la tabla dinámica:

pt.Format xlReport9

  • Establecemos las filas y columnas que conformaran la tabla dinámica:

pt.ManualUpdate = True pt.AddFields RowFields:=Array("Departamento", "Provincia")

  • La función xlCount hace que se cuenten los datos de esta columna y se suman el número de distritos.

With pt.PivotFields("Distrito") .Orientation = xlDataField .Position = 1 .NumberFormat = "#,##0" .Function = xlCount End With

  • La función xlMax  calcular el mayor porcentaje de la columna de totales.

With pt.PivotFields("Total") .Orientation = xlDataField .Position = 2 .NumberFormat = "#,##0" .Function = xlCount .Name = "Valor Máximo" .Function = xlMax End With

  • Desarrollamos los valores promedios de los porcentajes según género:

With pt.PivotFields("Hombre") .Orientation = xlDataField .Position = 3 .NumberFormat = "#,##0" .Function = xlAverage .Name = "Hombres"

'Con xlAverage se realiza el promedio de porcentajes por grupos

' Con el .Name le cambiamos la etiqueta en la tabla dinámica End With With pt.PivotFields("Mujer") .Orientation = xlDataField .Position = 4 .NumberFormat = "#,##0" .Function = xlAverage .Name = "Mujeres"' Con xlAverage se realiza el promedio de porcentajes por grupos

' Con el .Name le cambiamos la etiqueta en la tabla dinámica End With pt.ManualUpdate = False Sheets("Hoja1").Select End Sub

A continuación, la tabla creada:

tarea 4 imagen 3

(Para mayor visualización de la imagen, hacer click en la misma)

Y es así es que obtenemos una tabla dinámica que resuma los datos de manera pertinente, señalando los departamentos, provincias y número de distritos. Los datos ordenados y señalándonos dónde es que se encuentra la tasa más alta de analfabetismo por provincia y proporcionándonos la información del porcentaje promedio de analfabetismo por provincia según género.

Mediante esto, tendremos más facilidades para poder analizar estos datos. A continuación, el archivo excel del programa desarrollado: Porcentaje de analfabetismo en el Perú por región, provincia y distrito

Nota: Base de datos sacada de www.mef.gob.pe

 

Artículo elaborado por : María Estéfany Oré Sinforoso

Un comentario

  1. Cordial saludo, me gustaria poder saber algo y con respecto a los resultados que quedan en la tabla dinamica, como hacer para que los campos queden minimizados para que quede con un mejor formato, es que estoy trabajando en un archivo de muchos campos,
    Gracias

Deja una respuesta

Los campos requeridos estan marcados con *.