lunes, 27 de mayo de 2013

Recortar una imagen y eliminar el fondo

La edición y manipulación de imágenes no es el punto fuerte de las hojas de cálculo; para ese trabajo hay programas específicos y bien conocidos. Sin embargo, con Excel se pueden hacer algunas modificaciones que, en casos sencillos, nos permiten prescindir de los programas especializados.

Hoy vamos a ver cómo se elimina el fondo de una imagen para quedarnos con la parte que nos interese. Si en una fotografía hay varias personas y sólo nos interesa una, tendremos que eliminar las restantes y borrar el fondo. La siguiente, es una fotografía doble de Usain Bolt tomada durante una visita a Brasil.

Nos interesa sólo la parte de la derecha, pero no queremos ni el fondo ni las imágenes de las dos personas que se ven en el vértice inferior derecho. Queremos que el resultado sea:
 
Primero incorporamos la imagen a la hoja con Copiar y Pegar o mediante Insertar + Imagen. Luego, hacemos clic en ella para seleccionarla y elegimos Herramientas de imagen + Formato + Recortar. En los vértices de la imagen aparecerán unas escuadras negras y en el medio de cada lado unas barritas del mismo color.
 
Para facilitar el trabajo, eliminaremos la parte izquierda de la fotografía, desplazando la barra del borde izquierdo hasta la línea de separación de las dos fotografías (este paso no es imprescindible).
 
Hacemos clic en Quitar fondo. La barra de herramientas ha cambiado y parte de la fotografía ha quedado de color violeta. Ésta es la parte de la imagen que va a desaparecer.
 
Naturalmente, no queremos que desaparezcan trozos de Usain Bolt; por tanto, debemos recuperar algunas partes de la fotografía y eliminar otras. Pero, antes debemos ampliar el recuadro que ha aparecido, de forma que en su interior esté contenido lo que queremos conservar.
 
La zona violeta ha cambiado. El brazo izquierdo, el balón y las imágenes del vértice inferior derecho se han recuperado. Tendremos que recuperar manualmente el brazo derecho y eliminar las imágenes del vértice inferior. Para ello, usaremos los botones de la barra Herramientas de imagen + Formato.
 
Para recuperar el brazo derecho, hacemos clic en Marcar las áreas para mantener. Una vez elegida la herramienta, hacemos clic en el punto que queremos recuperar o, mejor aún, trazamos una línea en el antebrazo derecho y otra en el resto del brazo. Del mismo modo, recuperaremos todo los que haga falta, como el borde de la camiseta.
 
Haciendo clic en Marcar las áreas para quitar, eliminamos las figuras inferiores.
 
Para terminar, pulsamos el botón Mantener cambios.
 
Para trabajar en zonas pequeñas es conveniente aplicar el zoom a 200 o 400. De este modo, tendremos un control más preciso. Si nos equivocamos, usaremos el botón Eliminar marca.
 
Ya podemos mover la imagen a la zona deseada, reducirla o ampliarla y aplicarle los efectos que queramos. Por ejemplo, abrimos la lista Estilos de imagen en Herramientas de imagen + Formato y vamos probando las diversas opciones. Si elegimos "Girado, blanco", obtendremos:
 
¡Cuasi perfecto!
 
 

lunes, 20 de mayo de 2013

Atajos para cambiar el formato

He descubierto de forma casual que ciertas combinaciones de teclas cambian el formato de las celdas. Quizás estos atajos estén documentados, pero yo lo desconozco.

Seleccionamos el rango A1:A4 y pulsamos Ctrl + 1 para acceder a la ventana Formato de celdas (o elegimos Formato de celdas en el menú contextual). En la ficha Número, elegimos la opción Personalizada y escribimos el formato siguiente: [Azul]0;[Rojo]-0;[Verde]"Cero";[Color10]"...?"

Ahora, escribimos unos cuantos datos en la columna A:
 
Con el formato que hemos puesto, se verán así:
 
Para poner formato numérico con dos decimales, con el rango A1:A4 seleccionado, pulsamos Ctrl + Mayús + 1 (el 1 del teclado principal). Con esta combinación se eliminan los colores, los números se muestran en formato de miles con dos decimales y los textos aparecen tal cual.
 
Para establecer el formato de moneda pulsamos Ctrl + Mayús + 4 (el 4 del teclado principal). El símbolo de la moneda depende de cada país. Manzana es un texto y no se ve afectado.
 
Para poner porcentajes pulsamos Ctrl + Mayús + 5. Como es lógico, el texto sigue sin cambiar.
 
Para poner formato científico la combinación es Ctrl + Mayús + 7. 
 
¿Tiene interés práctico todo esto? Hummm...
 
 

lunes, 13 de mayo de 2013

Borrar iconos e hipervínculos

Con el método copiar y pegar podemos incorporar a Excel datos de una página Web. Es un método rápido pero que, a veces, resulta incómodo porque también se incorporan iconos que no interesan, lo que obliga a eliminarlos posteriormente.

En la página http://www.as.com/resultados/futbol/primera/#clasificacion, hay una tabla que nos puede servir para ilustrar el caso:

Seleccionamos la tabla, pulsamos Ctrl + C para copiarla en el portapapeles y la pegamos en nuestra hoja de cálculo con Ctrl + V.

Debemos quitar todos los iconos. Podemos hacerlo manualmente, uno a uno, seleccionando cada icono y pulsando la tecla Supr. Sin embargo, no es el método más recomendable si hay muchos iconos. Lo mejor es suprimirlos todos de una sola vez, usando alguno de los procedimientos siguientes:

Procedimiento 1

Pulsamos F5 para acceder a la ventana Ir a y hacemos clic en el botón Especial. Se abrirá el cuadro de diálogo Ir a Especial, donde debemos marcar el botón Objetos.

Terminamos pulsando Aceptar. Habrán quedado seleccionados todos los iconos. Pulsamos la tecla Supr y los iconos se eliminarán.

Procedimiento 2

Seleccionamos un icono cualquiera y accedemos a Herramientas de imagen + Formato + Panel de selección. Adosado a la parte derecha de la hoja aparecerá un panel en el que estará destacado un único icono (el correspondiente al que hemos seleccionado). Pulsamos Ctrl + A para seleccionar todos y, luego, la tecla Supr.

En la columna E nos habrán quedado datos con enlaces a páginas Web. Si queremos eliminarlos, seleccionamos la columna E (o toda la hoja, si hay más enlaces en otros sitios) y, con el botón derecho, abrimos el menú contextual. Ahora, bastará seleccionar la opción Quitar hipervínculos.






lunes, 6 de mayo de 2013

Separar texto en columnas basándonos en comas y saltos de línea

Si una celda contiene gran cantidad de datos puede ser conveniente separarlos en distintas columnas para trabajar mejor con ellos. Por ejemplo, en B3:B6 tenemos información de algunos elementos químicos:

No parece muy útil esta información tal y como está resumida. Será muy difícil operar con el punto de fusión, la masa atómica o el punto de ebullición de estos elementos sin aislarlos previamente. Lo más lógico sería crear una tabla como ésta:

Naturalmente, no lo haremos con copiar y pegar; utilizaremos la herramienta Texto en columnas.

En la lista original, los saltos de línea se han creado con Alt + Intro (hay un ejemplo en la entrada Eliminar saltos de línea). Otro delimitador es la coma, que se ha utilizado para separar el nombre del elemento, su símbolo y su número atómico (Litio, Li, 3).

Seleccionamos B3:B6 y accedemos a Datos + Texto en columna. Entraremos en un asistente donde se especificarán los tres pasos de que consta el proceso.

Paso 1 de 3: Marcamos el botón Delimitados y pulsamos Siguiente:

Paso 2 de 3: Marcamos los cuadros de verificación Coma y Otro. Nos ponemos en el espacio que hay a la derecha del cuadro Otro y pulsamos la combinación Ctrl + J. Esta combinación equivale al salto de línea creado con Alt + Intro. Por seguridad, marcamos el cuadro Considerar separadores consecutivos como uno solo. Con esta última acción nos aseguramos de que si en el texto original se ha pulsado dos veces Alt + Intro por error, se considere como una única pulsación.

En la Vista previa de los datos (parte baja de la ventana) podemos comprobar los efectos que produce cada una de nuestras acciones. Pulsamos Siguiente.

Paso 3 de 3: En esta última ventana no haremos ningún cambio.

Pulsando Finalizar comprobaremos que nuestra lista original ha sido sustituida por la siguiente:

Ha quedado un poco desordenado, pero bastará ensanchar las columnas y alinear el texto para dejarlo correctamente. Finalizaremos colocando los encabezados en cada columna.

En el tercer paso podemos decidir que se conserve la lista original y se cree una nueva en otro lugar. Además, podemos eliminar los datos que no nos interesen. Por ejemplo, para colocar la nueva lista en D9 y prescindir de la columna Serie química, en el Paso 3 de 3, debemos poner =$D$9 en el apartado Destino; en Vista previa de los datos, haremos clic en la cuarta columna y marcaremos el botón No importar datos (saltar). Debemos hacerlo en el orden indicado: en primer lugar seleccionar la columna que queremos eliminar y, posteriormente, marcar el botón No importar datos (saltar). El encabezado de la cuarta columna de la Vista previa de los datos cambiará de General a Saltar columna.

Poniendo los encabezado y alineando los datos, la lista quedará así:






lunes, 29 de abril de 2013

Eliminar saltos de línea

Ya he indicado en alguna ocasión que los saltos de línea dentro de una celda se crean pulsando Alt + Intro. Recordémoslo poniendo un ejemplo.

  1. Nos ponemos en B2.
  2. Escribimos: José Luis Martínez     [Pulsamos Alt + Intro]
  3. Escribimos: C/Goya, 3-1º D     [Pulsamos Alt + Intro]
  4. Escribimos: Zaragoza     [Terminamos con Intro ]
Pero, ahora, deseamos realizar la operación contraria; es decir, dada una lista de datos con los valores de las celdas escritas en varias filas, debemos eliminar los saltos de línea y escribir los datos de cada celda en una sola línea con el separador que queramos: espacio, barra vertical, asterisco...

Vamos a resolver el problema de dos maneras:

Manualmente: Buscar y reemplazar

Pulsamos Ctrl + L para entrar en el cuadro de diálogo Buscar y reemplazar. En la ficha Reemplazar y en el apartado Buscar, pulsamos Ctrl + J para insertar el código de salto de línea. En Reemplazar con, escribimos un espacio seguido del carácter | y otro espacio. Terminamos pulsando el botón Reemplazar todos y cerramos el cuadro de diálogo.

Probablemente tengamos que ensanchar la columna manualmente para que nos quepa el texto. Si queremos, podemos hacerlo de otro modo: seleccionamos B2:B4, pulsamos Ctrl + 1 para entrar en la ventana Formato de celdas y quitamos la marca del apartado Ajustar texto.

Con una fórmula: SUSTITUIR y CARACTER

Cuando queramos conservar las celdas originales y copiarlas en otro rango en una sola fila, usaremos esta fórmula:

En D2:
=SUSTITUIR(B2;CARACTER(10);" | ")     [Extendemos la fórmula hasta la fila 4]

El carácter ASCII 10 es el salto de línea que hay que buscar y sustituir por otro carácter (en el ejemplo, la barra vertical). Ensanchamos la columna D para que entre toda la línea y, si queremos, la centramos verticalmente.

lunes, 22 de abril de 2013

La función DELTA

Microsoft incluye DELTA dentro del grupo de funciones de Ingeniería. La función compara dos números y devuelve 1 (si ambos coinciden) o 0 (si no coinciden). La sintaxis es:

DELTA(número1; [número2])

Si se omite número2, se considera que vale 0. Si alguno de los argumentos no es un número, DELTA devuelve el error #¡VALOR!

Nunca he tenido necesidad de utilizar la función DELTA ya que se pueden usar otras funciones para obtener el mismo resultado. Además, en Excel 2003 sólo está disponible si se carga el complemento Herramientas para análisis (Herramientas + Complementos + Herramientas para análisis).

Comparemos dos números usando DELTA, el operador "=" y la función IGUAL:
  • =DELTA(5;5)     [Resultado: 1]
  • =--(5=5)     [Resultado: 1]
  • =--IGUAL(5;5)     [Resultado: 1]
A mi modo de ver, los dos últimos ejemplos son más claros y explícitos que el primero.

Estos ejemplos no son muy adecuados ya que los números suelen estar escritos en las celdas de una hoja de cálculo. Así pues, pongamos otro: en la lista de números (B3:B27), queremos saber cuántas veces se repite el número 103 (celda E2).

Obtendremos la primera solución utilizando la función DELTA. La columna H nos servirá para hacer cálculos auxiliares.

En H3:
=DELTA($E$2;B3)     [Extendemos la fórmula hasta la fila 27]

En E3:
=SUMA(H3:H27)     [Resultado: 8]

Parece ser que DELTA no se puede usar con matrices, de modo que fórmulas como:

=DELTA($E$2;B3:B27)    [Terminado con Ctrl + Mayúscula + Intro]

son erróneas. La conclusión es que no se puede prescindir de la columna auxiliar H.

Pero hay, al menos, tres soluciones muy sencillas que no precisan columnas auxiliares.

En E4:
=CONTAR.SI(B3:B27;E2)     [Resultado: 8]

En E5:
=SUMA(--(E2=B3:B27))     [Terminado con Ctrl + Mayúscula + Intro. Resultado: 8]

En E6:
=SUMAPRODUCTO(--(E2=B3:B27))     [Resultado: 8]

Casos habrá en los que resulte ventajoso utilizar DELTA en lugar de otras funciones, pero no se me ocurre ninguno.

Descargar archivo (S11-Delta.xlsx)

Descargar archivo (S11-Delta.xls)

lunes, 15 de abril de 2013

La función AGREGAR

En un artículo antiguo analizamos cómo se puede usar la función SUBTOTALES en lugar de otras funciones. Además, comprobamos que con SUBTOTALES podemos pasar por alto los valores ocultos. Ésta es, a mi modo de ver, la principal razón de su existencia.

En Excel 2010, Microsoft ha añadido la función AGREGAR, que se usa de un modo parecido a SUBTOTALES. Tiene dos sintaxis:

Primera sintaxis: AGREGAR(núm_función; opciones; ref1; [ref2]; …)

Consideremos una lista de valores numéricos en la que hay intercalados varios errores:

En D1:
=SUMA(A1:A11)     [Resultado: #¡DIV/0!]
 
Excel no puede hallar la suma si en el rango de datos hay algún error.
 
La función AGREGAR permite hallar la suma omitiendo los errores. A medida que vayamos escribiendo la fórmula, Excel mostrará las opciones disponibles.
 
En D2, escribimos: =AGREGAR(
 
Elegimos la opción 9 y ponemos punto y coma. Excel abre otro menú:


Seleccionamos la opción 6 y completamos la fórmula:

En D2:
=AGREGAR(9;6;A1:A11)     [Resultado: 462]

La suma se ha realizado correctamente sin tener en cuenta las celdas con errores. Para operar con rangos no contiguos, bastará separarlos con punto y coma. Por ejemplo, si quisiéramos hallar el promedio de los rangos C4:C10, H5:H20 y M2:N40, la fórmula sería: =AGREGAR(1;6;C4:C10;H5:H20;M2:N40)  

El 1 (primer argumento) selecciona la función PROMEDIO mientras que el 6 (segundo argumento) omite los posibles valores de error que contengan los rangos indicados en el tercer, cuarto y quinto argumento.

Segunda sintaxis: AGREGAR(núm_función, opciones, matriz, [k])

Si núm_función está comprendido entre 14 y 19, es necesario añadir el argumento [k]. Esto ocurre porque las funciones correspondientes requieren este segundo argumento. Como ejemplo, vamos a calcular el tercer número mayor del rango A1:B11

En D3:
=AGREGAR(14; 6; A1:B11; 3)     [Resultado: 95]

Si no hubiéramos omitido los errores (segundo argumento igual a 4), Excel devolvería un error. Habría sido lo mismo que escribir: =K.ESIMO.MAYOR(A1:B11;3)

martes, 9 de abril de 2013

Otra forma de poner los rótulos del eje X en dos filas

Recién publicado el último artículo donde se explica cómo poner los rótulos del eje de abscisas en dos o tres filas, se me ha ocurrido otro método que he probado y funciona.

Consiste en crear una nueva columna en la que los elementos de las filas pares vayan precedidos del carácter 10 de la tabla ASCII. Este carácter equivale a un salto de línea, pero no se abre hueco en la celda encima del texto (ignoro la razón).

Vamos a copiar la lista B3:B11 en L3:L11 de la siguiente manera: los elementos de las filas impares los dejamos intactos; los elementos de las filas pares irán precedidos del carácter ASCII 10.

En L3:
=SI(ES.PAR(FILA(B3));CARACTER(10)&B3;B3)    [Extendemos la fórmula hasta la fila 11]

Aunque no lo parezca, en L3:L11, Avellana, Nuez, Pistacho e Higo seco llevan un salto de línea delante.

Ahora, hacemos un gráfico de columnas con los datos del rango B2:D11 y eliminamos la leyenda.

Los rótulos del eje X han quedado inclinados. Hacemos doble clic en uno de ellos para acceder al cuadro de diálogo Dar formato a eje.
  • En la ficha Opciones del eje, seleccionamos el botón de opción Especificar unidad de intervalo y dejamos el valor 1.
  • En la ficha Alineación, escribimos 1 en Ángulo personalizado.

Volvemos a hacer doble clic en un rótulo cualquiera y, en Ángulo personalizado, ponemos un 0. Los rótulos quedan solapados pero ya están totalmente horizontales.

Con el gráfico seleccionado, accedemos a Herramientas de gráficos + Diseño + Seleccionar datos:

Hacemos clic en el botón Editar del apartado Etiquetas del eje horizontal (categoría). Sustituimos el valor de Rango de rótulos del eje por L3:L11.

Pulsamos dos veces Aceptar y el gráfico quedará perfecto. Ya lo podemos estrechar hasta que nos quede del tamaño deseado.

Como es lógico, para poner los rótulos en tres filas será necesario poner dos veces el carácter 10 en las filas correspondientes. La fórmula podría ser la siguiente:

En L3:
=ELEGIR(RESIDUO(FILA(B3);3)+1;B3;CARACTER(10)&B3;CARACTER(10)&CARACTER(10)&B3)     [Extendemos la fórmula hasta la fila 11]

Para que no moleste, podemos crear la columna auxiliar en una zona que quede cubierta por el gráfico (por ejemplo, en G3:G11) o cortarla y pegarla en otra hoja.




lunes, 8 de abril de 2013

Rótulos del eje X en distintas filas

Cuando los rótulos del eje horizontal de un gráfico tienen una longitud grande, para que quepan y se puedan leer, Excel los pone inclinados.

Si estiramos el gráfico conseguiremos que los rótulos queden en posición horizontal, pero a costa de hacer un gráfico muy ancho.

También podemos conseguirlo reduciendo el tamaño de la fuente, pero esto puede dificultar mucho la lectura.

¿Podemos acercar los rótulos entre sí manteniéndolos en posición horizontal? De este modo, conseguiríamos que cupieran en un espacio menor. Vamos a intentarlo.

Seleccionamos B2:D11 y accedemos a Insertar + Columna + Columna agrupada. Con este paso, y eliminando la leyenda, ya tendremos hecho el gráfico con los rótulos inclinados.

Ahora, hacemos doble clic en uno de los rótulos del eje X para entrar en el cuadro de diálogo Dar formato a eje.
  • En la ficha Opciones del eje, seleccionamos el botón de opción Especificar unidad de intervalo y dejamos el valor 1. 
  • En la ficha Alineación, escribimos 1 en Ángulo personalizado.
Cerramos la ventana y obtendremos la siguiente imagen:

Los rótulos se solapan unos con otros, pero no están totalmente horizontales (les hemos puesto una inclinación de 1º). Volvemos a entrar en el cuadro de diálogo Dar formato a eje y ponemos una inclinación de 0º. El gráfico quedará con los rótulos totalmente horizontales. La razón de dar este rodeo es que poniendo desde el principio 0º no funciona (al menos, a mí no me ha funcionado).

Estirando el gráfico conseguiremos que se vean los rótulos completos. Esta solución puede que no valga si necesitamos crear un gráfico muy estrecho. Por eso, vamos a ver otras soluciones.

El primer truco consiste en escribir normalmente los rótulos de las filas impares del rango B3:B11, y precedidos de un salto de línea los de las líneas pares. Así, Almendra, Cacahuete, Piñón, Dátil seco y Uva Pasa se escribirán normalmente; Avellana, Nuez, Pistacho e Higo seco, irán precedidos de un salto de línea. Para insertar un salto de línea antes (o después) de una palabra, se coloca el cursor en el lugar preciso y se pulsa Alt + Intro. La tabla quedará así:

Ahora, seleccionando B2:D11, hacemos un gráfico de columnas y repetimos los pasos dados en el ejemplo anterior: unidad de intervalo igual a 1, alineación con un ángulo de 1º y, luego, de 0º. Terminado el gráfico, lo estrechamos hasta el tamaño que queramos y obtendremos una imagen similar a la siguiente:

Lógicamente, podemos dar dos saltos de línea pulsando dos veces Alt + Intro. De este modo, Cacahuete y Dátil seco pasarán a la tercera fila.

Hay otro truco que podemos utilizar para poner rótulos en diferentes filas, aunque es más complicado y requiere usar columnas nuevas.

Para poner los rótulos en dos filas creamos una nueva columna a la izquierda de la tabla y alternamos los rótulos entre las dos columnas de la izquierda. Con la nueva tabla creamos el gráfico.

Los rótulos de la segunda fila no quedan centrados. La solución es sencilla: basta escribir un espacio en blanco en las celdas vacías que hay debajo de Avellana, Nuez, Pistacho e Higo seco. Después, si es necesario, podemos reducir la anchura del gráfico.

Análogamente, necesitaremos una tercera columna para poner los rótulos en tres filas.

Si nos molestan las líneas, las quitamos (o las ponemos de un color tenue) haciendo doble clic en una de ellas y eligiendo las propiedades adecuadas en las pestañas Color de línea y Estilo de línea.

Descargar archivo (S105-Frutos secos.xlsx)

Descargar archivo (S105-Frutos secos.xls)