Usos de Autofiltro – Copiar a rangos no continuos

lunes, enero 29, 2007

Hace unos días atrás, Rob van Gelder plantea el siguiente problema en Daily Dose of Excel:

tenemos una tabla con líneas en blanco que separan distintos grupos de datos. Queremos agregar una columna que contiene una fórmula, pero al copiar la fórmula a todo el rango se producen resultado "error". Esta imagen ejemplifica el problema:



La solución más inmediata es seleccionar las celdas con resultados erróneos y borrar el contenido.
Pero supongamos que se trata de una tabla con 1000 filas. Evidentemente la tarea llevaría muchísimo tiempo (1).
La misión es crear una selección lo continua de celdas en una columna dónde copiaríamos la fórmula.
Rob van Gelder propone una macro como solución. Nosotros mostraremo como hacer esto con Autofiltro.

Partimos de la tabla original, sin fórmulas en la columna E. Si aplicamos Autofiltro sin más trámite, Excel mostrará solamente los valores hasta la primer fila en blanco.
Para "obligar" a Excel a considerar toda la tabla, empezamos por seleccionar todo el rango de las columnas A hasta E y luego aplicamos Autofiltro



Ahora filtramos la tabla de acuerdo a la columna B, "no vacías"



Excel oculta las filas vacías



Seleccionamos el rango relevante en la columna E y aplicamos la fórmula



Todo lo que nos queda por hacer es anular el autofiltro



Obtenemos el mismo resultado, sin aplicar macros.

(1) En realidad podríamos seleccionar de una vez todas las celdas con resultado #DIV/0! usando Ir A --Especial, como ya hemos mostrado, y borrar el contenido en una sola operación. Si usamos alguna fórmula que no divida por una celda vacía no recibiremos resultado #DIV/0 y el método mostrado en esta nota sería el ideal.


Technorati Tags:

5 comments:

Anónimo,  14 julio, 2008 20:11  

También seria muy fácil si dentro de la misma formula se usara una condicionante que adelante la división entre cero y que no evalué (Función SI, en ingles IF)

Luis Luna

!obucnÌ¡ 22 octubre, 2008 14:41  

Intento hacer lo que sugeriste, pero tengo una tabla muy grande y no figura la opción "no vacías". ¿Por qué será? ¿Puede ser que ocurra esto cuando se supera cierda dimensión de tabla?

Agradeceré la respuesta a jroitvan@hotmail.com

MIL GRACIAS

Jorge L. Dunkelman 22 octubre, 2008 18:30  

No, supongo que no hay celdas vacías en la columna. Ten en cuenta que una celda que contiene una fórmula que da un resultado que parece vacía (como =SI(A1=1;10;" ")) o una celda cuyo contenido ha sido borrado con la barra de espacios, no está vacía.

joaquin 10 agosto, 2009 00:26  

Buen dia Don Jorge,
Ante todo me gustaria felicitarlo por su versatil blog, me parece util y fascinante.
Le escribo para hacerle una consulta relacionada con Autofiltro.
Actualmente tengo un archivo con dos tablas en dos hojas distintas (llamemoslas tabla A y tabla B). La cuestion es que de la tabla B deseo copiar una serie de valores para pegarlos en la Tabla A (a la cual se le aplico un autofiltro)pero me es totalmente imposible. He tomado la precaucion de que el numero de filas y columnas copiadas de la tabla B es igual igual al numero de filas y columnas filtradas donde deseo realizar esta copia (tabla A), sin embargo no me es posible realizar esta operacion. EL mismo problema se me presenta cuando deseo copiar unas serie de valores de una tabla filtrada a otra tabla donde estan otros valores filtrados (es decir copiar una serie de valores de una tabla con autofiltro para pegarlos en otra tabla con autofiltro). Le agradeceria mucho su recomendacion en este aspecto, en caso de necesitar una explicacion mas detallada del problema o el archivo por favor indiqueme su direccion de correo electronica para poder enviarselo.

Muchas gracias por su atencion

Saludos

Jorge L. Dunkelman 13 agosto, 2009 17:47  

Joaquín
cuando una lista está filtrada, los rango no son continuos y esa es la cause de tu problema. Una solución, si es que entiendo tu planteo, es transferir los valores a las eldas correspondientes usando alguna función de búsqueda como BUSCARV.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP