jueves, 20 de septiembre de 2012

Ecuaciones, comentarios y cuadros de texto

En Excel 2003 el Editor de ecuaciones se encuentra un tanto oculto. Se accede seleccionando Insertar + Objeto y, en la pestaña Crear nuevo, se elige Microsoft Editor de ecuaciones 3.0. En la versión 2010 está más accesible: Insertar + Ecuación.

En este ejercicio, vamos a manejar el Editor de ecuaciones, los Cuadros de texto y los Comentarios. El objetivo será construir la hoja que se muestra a continuación y que tiene algunas particularidades que se desvelarán más adelante.

Partiremos de una hoja con este formato:

Comencemos con los cuadros de texto del rango B2:D8.

Accedemos a Insertar + Formas + Formas básicas + Cuadro de texto y, manteniendo pulsada la tecla Alt, trazamos un rectángulo que ocupe las celdas B1:D1. Dentro del cuadro de texto, en negrita, centrado vertical y horizontalmente, escribimos: Poliedros regulares

Ahora, con el cuadro de texto seleccionado, vamos a Herramientas de dibujo + Formato y abrimos la lista de Estilos de forma. Elegimos el primero de la segunda fila.

Repetimos estos mismos pasos para poner los cuadros de texto de las celdas B3:D3 (segundo de la última fila) y B4:B8 (tercero de la última fila). Ajustando a la izquierda los textos de la columna B, obtendremos la imagen siguiente:

Vamos a poner las ecuaciones de las celdas C4:D8. Para ilustrar el procedimiento pondremos la ecuación de la celda C7.

Seleccionamos Insertar + Ecuación. En medio de la pantalla aparecerá un rectángulo punteado y la Cinta de opciones presentará dos nuevas pestañas en la parte superior: Herramientas de dibujo y Herramientas de ecuación. Si arrastramos el rectángulo punteado a un lugar vacío y lo agrandamos para que dentro quepa la ecuación, el aspecto de la pantalla será similar a la figura siguiente:

Pulsamos en Índices y elegimos la primera opción de la primera línea (Superíndice). Se nos mostrará dos cuadraditos dentro del rectángulo punteado:

En el primer cuadradito escribimos: 3a
En el segundo cuadradito escribimos: 2

Pulsamos flecha derecha para salirnos del superíndice y hacemos clic en Radical. Elegimos la primera opción y, dentro del radicando, escribimos: 25+10

Volvemos a elegir la primera opción de Radical y escribimos: 5

La ecuación está creada.

En Herramientas de dibujo + Formato, abrimos los Estilos de forma y seleccionamos el último de la última fila. Cambiamos el color de la fuente y, con la tecla Alt pulsada, arrastramos la ecuación haciendo que ocupe completamente la celda C7.

Con las demás ecuaciones tendremos que actuar de la misma manera.

En las celdas G4:G8 pondremos comentarios que informen sobre las características más importantes de cada poliedro. Para ello, hacemos clic con el botón derecho en la celda G4 y, en el menú emergente, seleccionamos Insertar comentario. Se mostrará un rectángulo acoplado al vértice superior derecho de la celda mediante una flecha. En su interior escribimos el comentario y pulsamos fuera para terminar.

En el vértice superior derecho de las celda que contienen comentarios, Excel muestra un pequeño triángulo rojo. Colocando el cursor encima de la celda, emerge el comentario como por arte de magia. Al sacar el cursor de la celda, se oculta.

Si queremos modificar el texto u otras características del comentario, basta hacer clic con el botón derecho en la celda y elegir la opción correspondiente.

Las columnas F y G contienen fórmulas y éstas no funcionan si se escriben en los cuadros de texto. Por tanto, las escribiremos en las propias celdas (como siempre). Luego, pondremos encima cuadros de texto similares a los que hemos colocado en la fila 3 y en la columna B creando un enlace con las fórmulas de las celdas que están cubriendo. Pero, vayamos despacito para no perdernos.

En F3 y G3 ponemos dos cuadros de texto similares a los que hay en C3 y D3.

En G2: 5

En F4: =G2^2*RAIZ(3)    [Resultado: 43,30]
En F5: =6*G2^2    [Resultado: 150,00]
En F6: =2*G2^2*RAIZ(3)    [Resultado: 86,60]
En F7: =3*G2^2*RAIZ(25+10*RAIZ(5))    [Resultado: 516,14]
En F8: =5*G2^2*RAIZ(3)    [Resultado: 216,51]

En G4: =G2^3*RAIZ(2)/12    [Resultado: 14,73]
En G5: =G2^3    [Resultado: 125,00]
En G6: =G2^3*RAIZ(2)/3    [Resultado: 58,93]
En G7: =(G2^3/4)*(15+7*RAIZ(5))    [Resultado: 957,89]
En G8: =(5*G2^3/12)*(3+RAIZ(5))    [Resultado: 272,71]

En la celda F4 ponemos un cuadro de texto vacío del mismo color que el de la celda C4. Con el cuadro de texto seleccionado, en la barra de fórmulas escribimos: =F4

Con este truco, conseguimos que en el cuadro de texto aparezca el valor de la celda a la que está cubriendo. Poniendo el texto de color negro y repitiéndolo con las otras celdas, el ejercicio queda terminado.

Podremos comprobar que cambiando el valor de la arista de la celda G2, los cuadros de texto muestran correctamente las áreas y volúmenes de todos los poliedros.



lunes, 17 de septiembre de 2012

La función IGUAL

Para Excel no hay diferencia entre un texto escrito en mayúscula o en minúscula. Por ejemplo, si en A1 escribimos Gabriel García Márquez y en A2 escribimos GABRIEL GARCÍA MÁRQUEZ, la fórmula =A1=A2 devolverá VERDADERO. El operador igual (=) no distingue entre mayúsculas y minúsculas. Ocurre igual con otras funciones.

Si necesitamos diferenciar mayúsculas de minúsculas debemos usar la función IGUAL. Por ejemplo, si sustituimos la fórmula anterior por la siguiente: =IGUAL(A1;A2), el resultado es FALSO.

Veremos cómo usar la función IGUAL con un ejemplo.

En la columna B hay repetidos los nombres de dos ciudades pero, en algunos casos, la primera letra está escrita en minúscula. En la columna C hemos puesto unos números arbitrarios.

En F2 pondremos el nombre de una ciudad. En F5 y en las celdas inferiores calcularemos, por varios métodos, cuántas veces aparece esa ciudad (coincidencia exacta).

En F2:
Burgos

La primera reacción para saber cuántas veces está escrita la palabra Burgos en la columna B es utilizar la función CONTAR.SI, pero es una elección incorrecta. Comprobémoslo.

En F5:
=CONTAR.SI(B3:B14;F2)    [Resultado incorrecto: 7]

La función CONTAR.SI es una de tantas funciones que no distinguen entre mayúsculas y minúsculas; no nos sirve.

Probemos otra solución.

En F6:
=CONTAR(SI(IGUAL(B3:B14;F2);C3:C14;""))    [Terminar con Ctrl + Mayúscula + Intro]

En este caso la respuesta es correcta. Veamos lo que hace la fórmula.
  • IGUAL(B3:B14;F2) compara cada elemento del rango B3:B14 con el valor que hemos puesto en la celda F2 y devuelve una matriz de valores VERDADERO y FALSO. VERDADERO cuando la coincidencia es exacta; FALSO cuando no hay coincidencia exacta.
  • La función SI toma esta matriz y, si el valor es VERDADERO, devuelve el número correspondiente del rango C3:C14; en caso contrario, devuelve un blanco (""). Por tanto, devuelve otra matriz.
  • la función CONTAR cuenta los números que hay en esta última matriz, devolviendo las veces que la palabra Burgos está escrita exactamente igual en la columna B.
Si no existiera la columna C o no quisiéramos usarla, podríamos usar esta fórmula:

En F7:
=CONTAR(SI(IGUAL(B3:B14;F2);1;""))    [Terminar con Ctrl + Mayúscula + Intro]

En este caso, la función SI no devuelve el valor de la columna C, sino un uno (podemos poner cualquier otro número) o un blanco (""). De este modo, devolverá tantos unos como veces esté escrita la palabra de la celda F2. Después, CONTAR contará los unos que hay y devolverá el resultado correcto. Como es lógico, podemos sustituir CONTAR por SUMA.

En F8:
=SUMA(SI(IGUAL(B3:B14;F2);1;""))    [Terminar con Ctrl + Mayúscula + Intro]

En realidad, ni siquiera necesitamos usar la función SI.

En F9:
=SUMA(--IGUAL(B3:B14;F2))    [Terminar con Ctrl + Mayúscula + Intro]

Puesto que la función IGUAL nos ha dado una matriz de valores VERDADEROS y FALSOS, bastará sumarlos (recordamos que VERDADERO equivale a 1 y FALSO equivale a 0) y directamente nos dará el resultado. La transformación de valores lógicos a numéricos se hace, como se ha explicado en otro artículo, multiplicando por uno o poniendo dos signos menos delante.

Todas las fórmulas correctas empleadas en el ejercicio son fórmulas matriciales. Si no queremos utilizar una fórmula matricial, bastará sustituir SUMA por SUMAPRODUCTO.

En F10:
=SUMAPRODUCTO(--IGUAL(B3:B14;F2))    [Terminar con Intro]




viernes, 7 de septiembre de 2012

La función FRECUENCIA

Si una lista de valores numéricos la dividimos en intervalos, el cálculo de los números que hay en cada intervalo se obtiene fácilmente usando la la función FRECUENCIA.

Se trata de una función matricial (se termina con Ctrl + Mayús + Intro) y se utiliza de una forma que puede resultar extraña. Veamos un ejemplo.

Hemos registrado en B4:C105 las precipitaciones anuales habidas en Sevilla entre los años 1900 y 2000. Queremos saber cuántos años las precipitaciones estuvieron comprendidas entre 0 y 300 litros/m2, entre 300 y 400, entre 400 y 500... y cuántos las precipitaciones fueron superiores a 1.000 litros/m2.

Para facilitar la lectura, en la columna F hemos puesto el valor inferior del intervalo y en la columna H, el superior. La función FRECUENCIA no utiliza el valor inferior, sólo el superior.

Seleccionamos I5:I13. Parece un poco extraño que seleccionemos la fila 13 cuando en la columna H que es la que utiliza la función FRECUENCIA, como veremos enseguida sólo hay datos hasta la fila 12, pero es así como debemos obrar si queremos calcular cuántos años las precipitaciones superaron los 1.000 litros/m2.

Escribimos la fórmula: =FRECUENCIA(C5:C105;H5:H12)      [Terminamos con Ctrl + Mayús + Intro]

En caso de coincidencia exacta, la cifra se contabiliza en el rango que contiene el número; por ejemplo, si un año cayeron, exactamente, 600 litros/m2, ese año se contará dentro del intervalo: más de 500 litros/m2 y menos o igual a 600 litros/m2. En la fila 13, como no hay ningún número en H13, el intervalo será: más de 1000 litros/m2 y al no haber límite superiorhasta el infinito.

Naturalmente, se puede resolver este ejercicio usando otros métodos. Por ejemplo, con la función CONTAR.SI.CONJUNTO las fórmulas serían:

En I5:
=CONTAR.SI.CONJUNTO(C5:C105;">"&F5;C5:C105;"<="&H5)    [Resultado 1]

Ahora, hay que copiar la fórmula hata la fila 12.

La fórmula de la fila 13 puede simplificarse usando CONTAR.SI

En I13:
=CONTAR.SI(C13:C113;">"&F13)    [Resultado 3]




miércoles, 5 de septiembre de 2012

Gráfico de tipo velocímetro

Si Excel tuviera en su arsenal de gráficos uno de tipo velocímetro no estaría escribiendo este artículo. Pero no lo tiene y esto me brinda la posibilidad de mostrar cómo se crea el siguiente:

En C2 pondremos el valor que debe mostrar la aguja del gráfico. En el rango B4:C9 están los intervalos de velocidad que nos servirán para colorear el gráfico. Los datos que están escritos en gris son valores auxiliares.

Vamos a realizar el gráfico superponiendo unas formas sobre otras, como las transparencias que se emplean en los libros de anatomía ¿se siguen usando? para ir montando las diferentes partes del cuerpo humano.

Las guías para montar este puzzle serán las cuadrículas de la hoja, pero necesitamos que estén más juntas. Para ello, seleccionamos las columnas D:X. Con el botón derecho del ratón mostramos el menú contextual y elegimos Ancho de columna. El ejemplo está hecho con un ancho de 2,71.

El fondo del gráfico será un rectángulo coloreado. Para dibujarlo, accedemos a Insertar + Formas + Rectángulo y, manteniendo pulsada la tecla Alt, trazamos un rectángulo que ocupe el rango E2:W17. Ahora, hacemos clic con el botón derecho en el interior del rectángulo y elegimos Formato de forma. Ponemos un relleno degradado de color verde y eliminamos el borde.

El siguiente paso consiste en crear la tabla de datos con la que construiremos el cuerpo del gráfico. Lo haremos en B11:C17.

En C12:
=C5    [Resultado: 600]

En C13:
=C6-C5    [Resultado: 300]

Extendemos la fórmula hasta la fila 16. En la fila 17 pondremos la suma:

En C17:
=SUMA(C12:C16)    [Resultado: 3.000]

Seleccionamos B12:C17 y, en el grupo Gráficos del menú Insertar, accedemos a Otros + Anillo. Borramos las leyendas y, con la tecla Alt pulsada, ajustamos el gráfico hasta colocarlo en F2:V21.

Debemos girar el gráfico 270º para que el sector marrón, que corresponde a la serie Auxiliar, quede en la parte inferior. Para ello, hacemos doble clic en cualquier sector del gráfico y, en Opciones de serie, ponemos un giro de 270º.

La mencionada serie Auxiliar ocupa la mitad del gráfico. Esto es debido a que en la celda C17 hemos sumado todos los valores de las celdas superiores; es decir, esta celda suma tanto como todas las demás celdas juntas. Lo hemos hecho así porque queremos crear un gráfico semicircular y, al tener medio gráfico por debajo, bastará con que lo ocultemos eliminando el relleno y el borde.

Hacemos dos veces clic (¡cuidado!, no hay que hacer doble clic) en la zona marrón (serie Auxiliar). Una vez seleccionada la serie, hacemos doble clic sobre la misma. Entraremos en el cuadro de diálogo anterior y todo lo que hagamos afectará únicamente a la serie seleccionada. Quitando el relleno y el color del borde, el gráfico quedará así:

Repetimos estos pasos con el resto de las series pero teniendo la precaución de quitar el borde y poner el color adecuado a cada caso.

Debemos hacer que el Área del gráfico y el Área de trazado sean transparentes. Para ello, hacemos doble clic en el Área del gráfico y quitamos el relleno y el borde.

El anillo es demasiado grueso y vamos a adelgazarlo. Doble clic en cualquier serie del gráfico para entrar en la ventana Formato de serie de datos. En Opciones de serie, ponemos 65% en el apartado Tamaño del agujero del anillo.

Una vez creado el cuerpo principal del gráfico vamos a poner los rótulos que identifiquen dónde empieza y dónde acaba cada serie. Podríamos hacerlo poniendo manualmente unos cuadros de textos con sus correspondientes rótulos, pero este método tiene el inconveniente de que quedarían descolocados cuando cambiáramos los intervalos de las series. Debemos hacerlo de forma que se coloquen automáticamente en sus correspondientes posiciones según los valores de la tabla B4:C9. Para ello, crearemos una nueva tabla de datos y, con ella, un gráfico circular. Pero, vayamos paso a paso.

Para evitar molestias, arrastramos el gráfico que acabamos de crear a una posición que no nos moleste; por ejemplo, a la derecha de la columna AA.

Escribimos el número 50 en las celdas siguientes: Z3, Z5, Z7, Z9, Z11 y Z13. En el resto de las celdas de la columna Z debemos poner los mismos valores que los del rango C12:C16. En Z14 sumaremos toda la columna.

En Z4:
=C12

En Z6:
=C13

En Z8:
=C14

En Z10:
=C15

En Z12:
=C16

En Z14:
=SUMA(Z3:Z13)    [Resultado: 3.300]

Posteriormente, sustituiremos todos los valores que hemos puesto en Z3, Z5, Z7, Z9, Z11 y Z13 por ceros. Pero este paso lo explicaremos en su momento.

Seleccionamos Y3:Z14 y, en el grupo Gráficos de la pestaña Insertar, elegimos Circular + Circular. Quitamos la leyenda y, manteniendo pulsada la tecla Alt, arrastramos y redimensionamos el gráfico hasta que ocupe el rango E1:W22.

Hacemos doble clic en cualquier sector para girar el gráfico y eliminar el relleno. En Opciones de serie ponemos un giro de 270º. En Relleno, elegimos Sin relleno y en Color de borde, seleccionamos Sin línea.

Los sectores más estrechos (los de valor 50) nos servirán para poner los rótulos de los intervalos de cada color. Para ello, estos sectores deben mostrar la Etiqueta de datos en el exterior. Se hace así: Seleccionamos un sector haciendo dos veces clic (no doble clic) sobre él y elegimos Herramientas de gráficos + Presentación + Etiquetas de datos + Extremo externo.

Esto debemos hacerlo con los seis sectores de tamaño 50. El resultado será:

Ahora, debemos sustituir el número 50 de cada sector por el correspondiente a la zona en la que está. El primer sector (inferior izquierdo) debe ser cero; por tanto, borramos manualmente el 50 y ponemos en su lugar un 0.

Los otros 5 sectores restantes deben mostrar los valores que hay en C5:C9. Lo haremos así: seleccionamos el rótulo que contiene el número 50 del segundo sector de la izquierda y, en la barra de fórmulas, escribimos: =Hoja1!$C$5. En el tercer sector la fórmula será: =Hoja1!$C$6. Y así sucesivamente.

Una vez puestas todas las fórmulas, debemos sustituir los 50 de Z3, Z5, Z7, Z9, Z11 y Z13 por 0. Si desde el primer momento los sectores hubieran tenido valor 0, habría sido más difícil seleccionarlos y poner las etiquetas de datos. Esta es la razón del extraño rodeo que hemos dado. Pulsando fuera del gráfico, la hoja se verá así:

Hacemos doble clic en el Área del gráfico y quitamos el relleno y el borde. A continuación, arrastramos el gráfico a una zona vacía para seguir trabajando.

Es el momento de ponerle una aguja al gráfico. La crearemos con otro gráfico circular, pero antes necesitamos la tabla de datos para construirlo. Estará en Y16:Z19.

En Z17:
=C2    [Resultado: 1.600]

En Z18:
50     [Más adelante este valor lo sustituiremos por un cero]

En Z19:
=2*C9-Z18-Z17    [Resultado: 4.350]

Seleccionamos Y17:Z19 y, en el grupo Gráficos de la pestaña Insertar, elegimos Circular + Circular. Quitamos la leyenda y, manteniendo pulsada la tecla Alt, arrastramos y redimensionamos el gráfico hasta que ocupe el rango G3:U20.

Del mismo modo que hemos hecho en el caso anterior, giramos el gráfico 270º, eliminamos el relleno y el borde de todos los sectores y le ponemos la Etiqueta de datos en el Extremos externo al sector de tamaño 50. Hacemos clic en el 50 de la Etiqueta de datos y, en la barra de fórmulas, ponemos la fórmula siguiente: =Hoja1!$C$2

Hacemos dos veces clic (no doble clic) en el sector de tamaño 50 y, una vez seleccionado, hacemos doble clic. En la ventana Formato de puntos de datos, ponemos un Relleno sólido de color negro, un Color de borde con Línea sólida de color negro y un Estilo de borde con Ancho de 2 puntos. Volvemos a hacer doble clic en el Área del gráfico y eliminamos el relleno y el borde.

El último paso consiste en sustituir el 50 de la celda Z18 por un cero. El resultado será:

Ya sólo queda montarlo todo y poner los últimos detalles para adornar el gráfico.

Con la tecla Alt pulsada, arrastramos el gráfico de sectores (el primero que hemos hecho) a la posición F2:V21. Del mismo modo, arrastramos el gráfico de los números a E1:W22.

Ponemos dos cuadros de texto con las leyendas que correspondan a nuestro caso. Manteniendo pulsada la tecla Mayúscula, con Insertar + Formas + Elipse, dibujamos un círculo que simule el eje donde gira la aguja. Le ponemos el tamaño y los efectos de color que queramos y el ejercicio quedará terminado.

Podemos comprobar que cambiando el valor de C2 la aguja se mueve a la posición correcta. También conviene comprobar que cambiando los intervalos C5:C9 las diferentes zonas coloreadas se amplían o reducen adecuadamente y las etiquetas de datos se colocan en su sitio.