martes, 29 de marzo de 2016

Practica 9. Filtros para un conjunto de datos

Tutorial "Filtros para un conjunto de datos"

A través del presente Tutorial te enseñaré el como "Filtrar" un conjunto de datos.     Para empezar debemos de contar con una tabla de datos, la siguiente tabla de datos es la que emplearemos, consiste de 5 columnasEstado, Edad, Estado civil, Estudios y Tiempo (duración en meses laborando en la empresa actual) y 90 registros de datos:

Estado Edad Estado civil Estudios Tiempo
Veracruz 60 viudo doctorado 410
Veracruz 58 casado maestria 230
Veracruz 52 casado doctorado 390
C.de Mex. 52 viudo profesional 420
Edo. De Mex. 51 casado secundaria 340
Veracruz 50 viudo profesional 348
Oaxaca 48 union libre profesional 45
Colima 48 casado doctorado 49
C.de Mex. 48 casado primaria 180
Chihuahua 48 casado profesional 190
Edo. De Mex. 47 casado especialidad 225
C.de Mex. 46 casado primaria 150
Oaxaca 45 union libre primaria 14
Jalisco 45 viudo primaria 18
Chihuahua 45 casado especialidad 96
Edo. De Mex. 45 casado profesional 130
Edo. De Mex. 45 casado profesional 150
C.de Mex. 45 casado primaria 158
Veracruz 45 casado maestria 170
Edo. De Mex. 44 casado secundaria 80
Colima 44 casado profesional 96
Oaxaca 44 casado profesional 120
Puebla 44 soltero maestria 175
Sonora 43 soltero secundaria 66
Puebla 42 soltero maestria 60
Jalisco 41 soltero profesional 64
Oaxaca 41 soltero secundaria 108
Chihuahua 40 soltero secundaria 56
C.de Mex. 40 casado profesional 160
Guerrero 39 casado secundaria 39
Chihuahua 39 soltero maestria 66
Veracruz 38 casado profesional 40
Puebla 38 soltero maestria 132
Edo. De Mex. 37 soltero profesional 100
C.de Mex. 36 soltero profesional 34
Jalisco 36 union libre secundaria 48
Chiapas 36 soltero profesional 140
Yucatan 36 casado maestria 144
Jalisco 36 soltero profesional 180
Colima 35 casado maestria 72
Durango 35 casado primaria 118
Puebla 34 casado maestria 100
Edo. De Mex. 34 soltero secundaria 125
Nuevo Leon 33 casado profesional 28
Yucatan 33 union libre profesional 48
Guerrero 33 casado secundaria 60
Veracruz 33 soltero secundaria 100
Tamaulipas 33 soltero profesional 140
Colima 32 union libre secundaria 60
Sonora 32 casado secundaria 70
Nuevo Leon 32 union libre profesional 72
C.de Mex. 32 soltero profesional 92
Puebla 32 union libre profesional 98
Edo. De Mex. 32 soltero profesional 110
Jalisco 32 union libre primaria 110
Chiapas 32 soltero secundaria 128
C.de Mex. 32 casado especialidad 135
Veracruz 31 soltero secundaria 84
Yucatan 31 union libre profesional 108
Jalisco 31 union libre secundaria 120
Chiapas 30 union libre secundaria 26
Jalisco 30 viudo secundaria 36
Puebla 30 union libre profesional 45
Coahuila 30 union libre secundaria 56
Sonora 30 soltero primaria 80
Edo. De Mex. 30 soltero secundaria 92
Edo. De Mex. 30 casado maestria 100
C.de Mex. 30 soltero doctorado 100
Durango 30 union libre primaria 120
Nuevo Leon 29 soltero secundaria 0
San Luis Potosi 29 union libre profesional 10
Chiapas 29 casado profesional 19
Campeche 29 union libre profesional 39
Sonora 28 soltero primaria 12
C.de Mex. 28 casado profesional 39
Durango 28 union libre secundaria 48
Nayarit 27 soltero especialidad 18
Tamaulipas 27 soltero profesional 22
Sonora 26 soltero secundaria 7
Yucatan 26 union libre secundaria 21
Edo. De Mex. 26 union libre profesional 35
Sinaloa 26 union libre primaria 35
C.de Mex. 25 union libre primaria 25
C.de Mex. 24 union libre primaria 9
Edo. De Mex. 24 union libre profesional 21
Coahuila 23 union libre secundaria 10
Yucatan 22 soltero secundaria 8
Edo. De Mex. 22 union libre primaria 18
Yucatan 21 soltero primaria 7
Chiapas 20 union libre profesional 6


Obviamente, sería muy cruel que te pusieras a capturar toda la tabla, por ello si me solicitas esta misma, con gusto te la facilitaré, me encuentro en el 3er piso del edificio de computación (turno matutino).  

Te sugiero inicies la captura (espero que no, y la hayas conseguido)  a partir de la celda B2, tal como se muestra enseguida:


Teniendo la tabla de datos ya incorporada en tu hoja de Excel, entonces procedemos a mostrarte las preguntas que tendremos que contestar:

1. Mostrar las personas de los estados de Veracruz y Yucatan que tienen estudios profesionales.
2. Mostrar las personas de la Ciudad de México y Estado de México que sean casados y posean estudios de maestría.
3. Mostrar a las personas de edades entre 45 y 60, que tengan mas de 100 meses de estancia laboral y sean del estado de México.

Para contestar dichas preguntas debemos de recurrir a la herramienta o comando "Filtro", el cual lo encontrarás en la ficha "Datos", dentro del grupo "Ordenar y filtrar", entonces selecciona toda la tabla de datos (incluyendo los encabezados y haz clic sobre el icono "Filtro", y deberás de obtener algo muy semejante a lo siguiente:



Al aplicar el comando "Filtro", en cada una de las columnas involucradas en la tabla de datos se inserta un pequeño cuadro que contiene una "punta de flecha", para que los ubiques, les trace una linea recta roja.    Este ícono nos permite acceder a un menú contextual, tal como se aprecia enseguida:



Entonces, procedemos a contestar la 1a. pregunta: "Mostrar las personas de los estados de Veracruz y Yucatan que tienen estudios profesionales." para ello a través de los menús contextuales definimos parte de la pregunta:
(1) En el menú de la columna "Estado", procedemos así:




Mostrándose los siguientes registros:



Otra forma de proceder para obtener el mismo resultado anterior, es emplear la opción de "Filtro de texto", eligiendo "Es igual a...", debiendo aparecer la siguiente ventana:



Como estarás observando, se teclearon los textos "Veracruz" y "Yucatan", en ambos casos se eligió la opción "es igual a", así como el operador lógico "O".

(2) Ahora, en el menú de la columna "Estudios", procedemos así:


y obtenemos la respuesta a la pregunta planteada:



Ahora, procedemos a la segunda pregunta: "Mostrar las personas de la Ciudad de México y Estado de México que sean casados y posean estudios de maestría", así que procedemos primero con la columna "Estado", como se muestra:

Pero recuerda, antes que nada eliminamos los filtros (opción: "Borrar filtro ...") que se aplicaron en la pregunta anterior, y haber "salvado" el resultado obtenido (te sugiero realizar el "imprime pantalla" y pegarlo en otra hoja nueva de Excel).



Ahora, procedemos en la columna "Estado civil":




y finalmente procedemos en la columna "Estudios":



y obtenemos la respuesta a la pregunta planteada:



Pasamos a la última pregunta: "Mostrar a las personas de edades entre 45 y 60, que tengan mas de 100 meses de estancia laboral y sean del estado de México".

Empezamos filtrando a la columna "Estado":



pasamos a la columna "Edad" empleando la sub-opción "Entre..." de la opción "Filtros de número...":



pasamos a la columna "Tiempo" empleando la sub-opción "Mayor que..." de la opción "Filtros de número...":




y obtenemos la respuesta a la pregunta planteada:




Valor agregado.  Supongamos que aparte de Mostrar registros de la tabla de datos que satisfacen los requerimientos planteados, nos solicitan contar los registros mostrados a través del uso de fórmulas de Excel, entonces para la primera pregunta, la fórmula sería:



Para la segunda pregunta:



Y para la tercera pregunta:



Cabe señalar que el criterio empleado en la 2a. pregunta ("*Mex*"), equivale a la sub-opción "Contiene..." de la opción "Filtros de texto...":



y esto ha sido todo por el momento, espero que todo este menjurje te sea de utilidad, hasta la próxima.



sábado, 26 de marzo de 2016

Practica No. 8 Verificando tipo de triángulo

Tutorial Verificando tipo de triángulo

A través del presente te enseñaremos como distinguir un triángulo Equilatero, Isósceles y Escaleno mediante el uso de las funciones de Excel 2013.

Iniciamos, teclea los datos que a continuación se muestran, respetando sus ubicaciones:


Para las celdas "Longitudes" vamos a emplear la función "ALETORIO.ENTRE(valor inicial, valor final)", esta función permite generar de manera aleatoria un número, el cual estará comprendido entre los valores que se especifiquen, es decir si queremos que se generen valores del 1 al 5 en la celda C3, entonces tecleamos la siguiente fórmula en la celda mencionada:

                     =ALEATORIO.ENTRE(1,5)

y enseguida la copiamos hacia las dos celdas inferiores.    Para la generación de dichos números en las celdas C3, C4 y C5 simplemente oprime la tecla F9, y obtendremos algo semejante a lo siguiente:




En base a los valores mostrados en las celdas mencionadas previamente, emplearemos una fórmula que nos permita distinguir el tipo de triángulo de que se trata, es decir si es un EQUILATERO (tres lados iguales), o un ISÓSCELES (dos lados iguales) o un ESCALENO (tres lados distintos).

Cabe aclarar que esto no es nada rigorista, es decir simplemente comparamos los tres números entre si, nada más,  sin llegar a la verificación si realmente estos tres lados con las longitudes mostradas realmente formarían un triángulo, por ejemplo los lados 1, 1 y 3 si sólo nos fijamos en los valores se trataría de un triángulo ISÓSCELES, sin embargo si quisiéramos validar si efectivamente estos lados forman un triángulo, pues sencillamente NO, esto se debe a un teorema de la Geometría Euclidiana que dice:

"En todo triángulo la suma de las longitudes de dos lados cualquiera es siempre mayor a la longitud del lado restante"


Entonces empezamos con la solución sencilla, tecleamos la siguiente fórmula que nos permitirá distinguir el tipo de triangulo en la celda D6:

=SI(C3=C4,SI(C4=C5,"equilatero","isósceles"),SI(C3=C5,"isósceles",SI(C4=C5,"isósceles","escaleno")))

Quizá para aclarar un poco esta fórmula les presento el diagrama de flujo que la representa:



Ya introducida la fórmula, entonces procedemos a probar su efectividad, oprimimos varias veces la tecla F9, y obtenemos los cinco siguientes casos:

Caso (1):


Caso (2)



Caso (3):



Caso (4):


Caso (5):



Como valor agregado introduciremos un botón que al oprimirlo realizará la misma acción que al oprimir la tecla F9, entonces empleamos la opción de "Botón de comando (control ActiveX)" del comando "Insertar" del grupo "Controles" de la ficha "Desarrollador", colócalo en la parte inferior y asociale la siguiente programación (una sola instrucción), tal como se aprecia enseguida:


esto mismo se aplico en el tutorial "Simulación del lanzamiento de un dado", la programación debe ser:



no olvides desactivar el modo "Diseño" para que puedas emplear el botón, así como no olvides guardar el archivo con el tipo: "Libro de Excel habilitado para macros (*.xlsm)" y listo, hemos terminado con la Solución Uno (la sencilla).

La Solución Dos (la compleja) la realizaremos con el apoyo del lenguaje VBA, para ello podemos emplear la misma interface de usuario de la solución sencilla, sólo que eliminamos las fórmulas de las celdas "C3", "C4", "C5" y "D6" y además le cambiamos el texto que muestra el botón por "Genera números, valida y clasifica":


Te sugiero, primero salva tu archivo y después emplea la opción "Guardar como" y llamale de diferente forma (para que no pierdas la solución uno).

La solución será pura programación, así que para ello emplearemos la programación modular es decir, establecemos cuatro módulos, de la siguiente jerarquía:

  
El módulo principal sólo llamará a los módulos "generaNumeros" y "validaTeoremaGeometrico" cada vez que hagamos clic al botón "Genera numeros. valida y clasifica".

El módulo "generaNumeros" su única función será el de generar los números aleatorios del 1 al 5 y asignarlos a las celdas: "C3", "C4" y "C5" respectivamente.

El módulo "validaTeoremaGeometrico", su función como su nombre lo indica realizara una validación del teorema geométrico  que es validar las siguientes expresiones:
                       (a + b) > c,   (a + c) > b y (b + c) > a

es decir que la suma de dos lados del triángulo siempre será mayor que la longitud del tercer lado.

Cuando no cumpla alguna de éstas tres expresiones entonces se colocara el mensaje "No procede" en la celda "D6" y en caso contrario, es decir si cumple las tres expresiones, entonces llamará al modulo "checaTipoTriangulo". 

El módulo "checaTipoTriangulo" como su nombre lo indica, definirá el tipo de triángulo, así si los tres lados son iguales entonces colocará el mensaje "Equilatero", o si únicamente dos lados son iguales, el mensaje "Isósceles" o si los lados son diferentes entre si, el mensaje: "Escaleno" en la celda "D6".

La programación que deberás de asociar al botón mencionado es:


En esta programación emplee dos tipos de subrutinas: Sub y Function, la subrutina Sub es simplemente un conjunto de instrucciones que realizan una acción en particular, sin embargo la subrutina Function también realiza un acción en particular pero con la diferencia que regresa un resultado, es decir recibe datos y a cambio regresa un resultado, que en este caso regresa el texto "Equilatero" o "Isósceles" o "Escaleno").

Hemos terminado, no olvides guardar correctamente el archivo y además deshabilitar el modo "Diseño" para poder emplear el botón.

Hasta la próxima, espero que todo esto te sea de utilidad, saludos...



Tutorial "Creando Marcos en HTML"

Tutorial para crear Marcos (Frames) en HTML. Los marcos o  frames  nos permiten dividir una página web en varias ventanas que pueden cargar ...