miércoles, septiembre 16, 2009

Selecciones múltiples en Excel basadas en un valor

Ya hemos visto en el pasado cómo realizar selecciones múltiples usando Ir A (F5 o Ctrl+G). El problema surge cuando queremos hacer una selección múltiple basándonos en algún valor.
Por ejemplo, después de importar un informe del sistema ERP en mi empresa, tuve la necesidad de borrar todas las filas cuyas celdas en la columna A contengan la palabra “Total”.

Pongamos un ejemplo reducido



Selecciones múltiples en Excel

Necesitamos borrar todas las líneas con totales para poder usar los datos en una tabla dinámica.
Una solución posible es escribir una macro que haga la tarea. Pero el blog Bacon Bits trae una sugerencia mucha más sencilla y todo el crédito va para él.


Empezamos por seleccionar el rango relevante, en nuestro caso A1:A14. Abrimos el menú Buscar y reemplazar (Ctrl+B o Edición—Buscar) y en la casilla Buscar ponemos “Total” (o la palabra o combinación de valores que queremos usar). Apretamos Buscar todo



Selecciones múltiples en Excel

Todas las celdas aparecen en la ventanilla del diálogo pero sólo la primera en la lista está seleccionada (con un fondo azul). Apretamos Ctrl+E para elegir todas las celdas de la lista (o apretando Mayúsculas señalamos la última celda en la lista)



Selecciones múltiples en Excel

Al hacer esto, todas las celdas que contienen la palabra “Total” son seleccionadas.

Apretamos Cerrar y poniendo el marcador del mouse sobre una de las celdas seleccionadas abrimos el menú contextual con el botón derecho.

Elegimos Eliminar y Toda la fila y apretamos Aceptar

Selecciones múltiples en Excel

Eso es todo!

Selecciones múltiples en Excel


De la misma manera podemos aplicar un fondo de color a las celdas seleccionadas, o borrar el contenido, etc.







Technorati Tags:

martes, septiembre 08, 2009

Encontrar el encabezamiento en una matriz con Excel

Supongamos esta tabla de datos, que muestra la ubicación de ciertos agentes en ciertas zonas por día de la semana


matriz en Excel

Para encontrar qué agente estará en qué zona en determinada fecha podemos usar una fórmula como ésta

=INDICE(agentes,COINCIDIR(C12,fechas,0),COINCIDIR(C13,zonas,0))


dónde usamos los nombres

agentes =indice!$C$3:$F$9


fechas =indice!$B$3:$B$9


zonas =indice!$C$2:$F$2


Es decir, dados los valores de la fecha y la zona en la matriz, podemos encontrar el agente.
Pero la pregunta es, ¿cómo encontramos la zona sabiendo la fecha y el agente? Es decir, ¿en qué zona se encontrará Roberto el 04/09/2009? Es decir, tenemos que hacer una búsqueda “hacia arriba”.


Empezamos por agregar dos nuevos nombres para hacer más legible nuestra fórmula


tabla =zona!$C$3:$F$10
agente =zona!$C$4:$C$10

En la celda C13 ponemos la fecha, en la celda C14 el nombre del agente y en la celda C15 esta fórmula:

=DESREF(tabla,0, COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)-1,1,1)

matriz en Excel

Para explicar esta fórmula veamos cuál es la función de cada uno de sus componentes.

Empezamos con


=DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla))


Si ponemos esta fórmula en un rango de una fila por cuatro columnas obtenemos los nombres que corresponden a la fecha en la matriz (nótese que entrado la fórmula como matricial)

matriz en Excel

La formula anterior es uno de los argumentos de


=COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)


Si pegamos esta fórmula en una celda veremos que el resultado es 4

matriz en Excel

ya que el valor de C14 es “Mario” y este valor es el cuarto en el vector que hemos obtenido con la fórmula anterior.


Si reducimos ahora la fórmula en C15 a =DESREF(tabla,0,4) vemos que el “ancla” de DESREF la celda C3, con 0 filas des desvío y 4 columnas a la derecha.




Technorati Tags:

domingo, septiembre 06, 2009

Mostrar y ocultar líneas de división en Excel 2003

Las líneas de división (o cuadrícula, como ha sido traducido en Excel 2007) aparecen por defecto en las hojas de Excel. Consideraciones de diseño y/o presentación pueden hacer necesario ocultar las líneas de división en la hoja.

En Excel 2007 hacemos esto con un único clic en el icono correspondiente de la pestaña Diseño de Página de la cinta


líneas de división en Excel 2007

En Excel clásico (versión 2003 y anteriores) la cuestión en más trabajosa.

Tenemos que usar el menú Herramientas-Opciones, ir a la pestaña Ver y quitar la marca de la opción Líneas de División.

líneas de división en Excel 2003

En Excel clásico (versión 2003 y anteriores) la cuestión en más trabajosa. Tenemos que usar el menú Herramientas-Opciones, ir a la pestaña Ver y quitar la marca de la opción Líneas de División.


Si usamos con frecuencia esta opción en Excel clásico podemos crear un atajo con una macro sencilla que luego podemos asociar a un icono que pondremos en alguna de las barras de herramientas existentes.

La macro es muy sencilla y la ponemos en un módulo del cuaderno Personal.xls, de manera que esté disponible para todo cuaderno de Excel


Sub lineas_division()

If ActiveWindow.DisplayGridlines = True Then
ActiveWindow.DisplayGridlines = False
Else
ActiveWindow.DisplayGridlines = True
End If

End Sub


El lugar adecuado para poner un icono ligado a la macro es la barra de herramientas de Formato. Para hacerlo seguimos los siguientes pasos:

1 – Abrimos el menú Ver-Barra de Herramientas-Personalizar. En la pestaña de Comandos elegimos la categoría Macros

líneas de división en Excel 2003

2 – Arrastramos el “smiley” al lugar indicado y abrimos el menú contextual con un clic del botón derecho. Activamos la opción Asignar Macro y elegimos la macro apropiada

líneas de división en Excel 2003


líneas de división en Excel 2003

3- Volvemos a abrir el menú contextual, ponemos un texto adecuado en Nombre y cambiamos la imagen del icono

líneas de división en Excel 2003

A partir de ahora tenemos un nuevo icono en la barra de herramientas Formato que nos permite poner o quitar las líneas de división con un solo clic.

líneas de división en Excel 2003




Technorati Tags: