Pregunta de newbie

No soy nada técnico y prefiero hacer mi pregunta, tomando un ejemplo.
En la hoja nº1, todas las filas empezan en la columna A por una referencia (A, B, C,...).¿Es posible que Excel copie automáticamente en la hoja nº2 todas las filas que empezan por A, y en la hoja nº3 todas las filas que empezan por B y etc en las hojas 3,4.. Para C, D...?

1 Respuesta

Respuesta
1
Sindudamente, MS Excel puede hacer lo que solicitas, aunque no es una cuestión simple, por novato que seas.
Probablemente, sería necesario desarrollar una rutina en Visual Basic for Applications dentro del entorno del programa.
Peor me inclino más por una serie de fórmulas que lo hagan automáticamente apoyándose en una simple columna auxiliar.
Para esta solución necesitaremos usar CONTAR. SI(), BUSCARV() Y COLUMNA()
Vamos por partes:
En la hoja nº1 inserta una columna a la izquierda de la tabla cuyos conceptos quieres clasificar. Ahora, tu columna "A" pasará a ser la "B" y en "A" deberás introducir una fórmula de este tipo:
=CONTAR.SI(B$4:B4;B4)&B4
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna, una por cada una de las referencias a clasificar en las otras hojas.
Esta fórmula asume que tal rango comienza en la celda B4.
Nota que dejo fija la fila cuatro, utilizando el signo $ de forma tal que la función CONTAR. SI() considere un rango desde la fila inicial hasta la fila donde está la fórmula.
Además la fórmula agrega al final la referencia de la fila donde está copiada.
Deberías obtener algo parecido a esto:
1A
2A
3A
4A
5A
1B
2B
3B
4B
5B
1D
2D
3D
4D
1E
1F
2F
Es importante que esta sea la primera columna a la izquierdda del rango, pues la función BUSCARV() la utilizará para encontrar los datos que necesitas.
En la hoja 2, elije una celda libre para ingresar la referencia que deseas que se traiga a esa hoja (en tu ejemplo, aquellas filas que tengan una "A"), por ejemplo en la celda "B2".
En la columna A, coloca una serie de números del 1 en adelante, teniendo en cuanta la cantidad máxima de lines que pueden ingresar por cada referencia en la hoja 1.
Bien, en la celda "B4", ingresa una fórmula como esta:
BUSCARV($A4&$B$2;Hoja1!$A$4:$H$25;COLUMNA()+1;0)
El primer argumento de la fórmula arma una combinación del número de orden según la fila (A4) y la referencia a buscar ($B$2). Este es el dato a buscar.
El segundo argumento es el rango de búsqueda, es decir la tabla de referencias de la hoja1.
EL tercer argumenteo es el número de columna que deberá mostrar en esta casilla. Aquí uso la función COLUMNA() que me indica cual es el número de columna actual y me servirá de referencia para indicar la columna de la base que quiero mostrar en cada celda de la hoja 2.
Finalmente el cuarto argumento fuerza a que la coincidencia sea exacta.
Si no lo fuera -porque el número de orden o la referencia no existen- ésta fórmula devolverá #N/A!.
En caso de que no quieras ver este mensaje, puedes usar este condicional que primero evalúa si el resultado será #N/A, en cuyo caso no mostrará nada, o el valor correspondiente.
La ventaja de una fórmula diseñada dee esta manera es que sólo bastará que copies la celda donde está y la pegues tantas celdas a la derecha como campos tengas en la base original y tantas filas hacia abajo como números de orden hayas colocado en la hoja de clasificación.
Aún más, bastará que hagas una copia de la hoja -una vez colocadas las fórmulas en su lugar-y cambiando la referencia en la celda B2 buscará los datos correspondientes para esa nueva referencia.
Una utilidad adicional de esta solución es que, cualquier cambio o agregado en la base original, se verá reflejado automáticamente en la hoja que le correesponde.
---
Fiuuu, newbie, he tratado de ser lo más claro posible en esta explicación pero entenderás que lo que solicitas no es sencillo.
El procedimiento parece complicado, pero no lo es tanto. Sin embargo dispongo de un archivo de ejemplo que te mandaré con gusto. Si lo quieres, simplemente escríbeme a:
Aclarando qué entendí mal o qué faltó.
Perdón Fernando, pero te envíe 2 email, y no sabia que debía cerrar la pregunta. La verdad es que no entendí nada, pero me parece que tu respuesta debía ser buena.
Me preguntaba si esta respuesta te aportó alguna solución a tu problema.
Por ser "newbie" puede que no sepas que es necesario que finalices esta pregunta
Habiendo notado que me encuentro inhabilitado para recibir preguntas, dado que tengo muchas sin cerrar, te pido -por favor- finalices esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas