Esta es una consulta que recibo muy a menudo y he diseñado varias soluciones, que van desde el anidado de un par de funciones propias de Excel a Macros. Pero a muchos no les gusta renegar con funciones extrañas (y tienen razón) ni con código de visual basic (también tienen razón, por que cada usuario es un mundo aparte).
El tema central radica en el tamaño de las tablas. Supongamos que dicha tabla ocupa el rango A1:C20. El usuario inserta funciones para, por ejemplo, sumar los importes presentes en la columna C. La función es sencilla: =SUMA(C2:C20).
en E2 observamos la función.
[+/-] Ver el resto / OcultarAhora el problema radica en: que sucede si un usuario agrega un nuevo registro a la tabla, o sea que eleva la cantidad de filas a 21? La funcion =SUMA(C2:C20) no contemplaría este último agregado y dicho registro quedaría fuera de la suma. Y ni hablar si sobre esa tabla tenemos vinculado algún gráfico: los nuevos datos quedarán fuera de él. Existen diversas formas de crear rangos dinámicos, mismas que podrán encontrar dentro de este blog (indirecto, desref, contara). Pero una excelente solución que nos facilita mucho nuestra labor es asimilar el concepto que nos propone una muy útil herramienta: Tablas.
Esta herramienta toma un rango de datos (en este caso, A1:C20) y lo convierte en una unidad, agrupando todas las celdas bajo un mismo concepto. Digamos que para Excel no existe mas A1:C20, si no que ese conjunto de celdas es interpretado como un único objeto: una Tabla. Las ventajas?. Muchas.
Seleccionemos el rango en cuestión y en la cinta de opciones (pestaña Insertar), damos click sobre "Tablas":
indicamos el rango que ocupa la tabla. Noten que dejo tildada la opción "La tabla tiene encabezados"; de no poseerlos, destildan.
Presionamos Aceptar y empezamos a ver las diferencias:
visualmente empezaron los cambios.
Seleccionemos con el mouse toda la tabla y veremos como la cinta de opciones se transforma, pudiendo acceder a una gran cantidad de herramientas especialmente realizadas para trabajar con tablas:
la nueva pestaña se llama "diseño"
Analicemos, de izquierda a derecha:
1) en el primer cuadro renombré a la tabla: ahora se llama "tablaBlog" (sin las comillas)
2) Herramientas: podemos activar automáticamente la creación de una Tabla Dinámica, quitar valores duplicados (otra consulta mas que frecuente) y convertir a la Tabla en rango. Ojo con esta última opción, ya que dejará de existir en ente "tabla" y nuestra "tablaBlog" volverá a ser para Excel un grupo de celdas, no un "objeto" como lo es ahora.
3) luego es factible enviar la tabla a un sitio SharePoint (servidor para compartir) o a Microsoft Visio. Si, Visio, y se pueden obtener resultados asombrosos:
miren como desagregué la información de la tablaBlog en un organigrama, al exportar los datos a Visio. Excel.... cada día te quiero mas.
4) el cuadro "opciones de estilo de tabla" tiene alternativas interesantes:
fila de encabezados
fila de totales
filas con bandas
primera columna
ultima columna
columnas con bandas
Salvo "fila de totales" (que veremos a continuación) las demás están para darle un determinado estilo visual. Prueben marcando y desmarcando para practicar y observar lo que les comento.
Fila de totales, como ya deben intuir, agrega un total. Pero lo mejor es que al lado de ese total nos aparece una pequeña flecha (como la del Autofiltro) y que al desplegarla nos brinda varias opciones:
cualquier opción que seleccionemos nos aplicará automáticamente la función.
Vayamos contando y vemos a las claras las ventajas que ya conseguimos en definir a un rango de datos como una tabla. Son muchas, como dije al principio.
Para seguir, quitemos el tilde a "fila de totales".
Como quien no quiere la cosa, nos vamos a la celda A21 (que está fuera de la tabla) e insertamos un nuevo registro, viendo que sucederá algo que no sucedería de no haber creado la tablaBlog:
toda la fila A21:C21 se coloreó, lo que indica que ese nuevo registro se agregró solo al objeto tablaExcel; es decir: la tabla se expandió sola.
Esa simple acción observada en la imagen anterior es la que nos "salvará", ya que la tabla (y cualquier función o gráfico que haga referencia a ella) "crecerá sola".
Si reemplazo la vieja función =SUMA(C2:C10) por =SUMA(tablaBlog[Importe]), esta nueva función actualizará todos los registros que agreguemos a la tabla en forma automática, sin necesidad de modificar nada:
Lo mas cómico de esta total sencillez es, quizás, la siguiente imagen:
Excel me facilita todo, dándome en una lista los campos que tiene mi tabla !!!!
Utilicé a SUMA() para brindar un ejemplo sencillo, desde ya que es aplicable a cualquiera de sus funciones. Solo debemos respetar la sintaxis: =FUNCIONQUESEA(NombreDeLaTabla [ campo_a_calcular ] )
Y todo queda servido en bandeja. Sigamos, que por suerte hay mas.
Observen este detalle, presente en el borde inferior derecho de la última celda:
Ese pequeño angulo en "negrita" nos dejará ampliar el tamaño de nuestra tabla (filas y columnas) con simplemente hacer click sobre el y arrastrar el mouse:
genial. con solo arrastrar y soltar ampliamos el objeto Tabla.
Una cosa mas. Agreguemos tres columnas a nuestra tablaBlog:
Apuntemos nuestra atención a la columna "diferencia" y a la barra de fórmulas: con solo invocar los nombres de los campos me es factible obtener el resultado de una función: en este caso, =[fecha2]-[fecha1], que me marca la diferencia (en días) entre ambas fechas. No tiene desperdicio.
Un detalle a considerar es el lugar en donde agregamos la función. Si lo hacemos en una celda contigua a la tabla, Excel interpretará que esa función será parte de la tabla y la añadirá como tal, devolviendo el resultado de de esa fila. Analicen que como el campo "diferencia" es parte de la tabla, usé la función
=[fecha2]-[fecha1], sin anteponer el nombre de la tabla. Si esa misma función la hubiese puesto en la columna Z (que no forma parte de la tablaBlog, debería ser: =tablaBlog[fecha2]-tablaBlog[fecha1].
Otro detalle importante: podemos crear funciones que abarquen la totalidad de la tabla, o ciertos registros:
=CONTARA(tablaBlog[#Todo]) 'contará el total de elementos presentes en la tabla
=CONTARA(tablaBlog[#Esta fila]) 'solo los datos de la fila en donde se encuentre la función
=CONTARA(tablaBlog[#Encabezados]) 'cuenta los encabezados de la tabla.
La lista de identificadores la puden ver en la siguiente imagen, o bien practicando un poco con esta entrada:
Me faltó mencionar que en la cinta de opciones tenemos la pestaña "estilos de tabla", con muchas opciones para cambiar el aspecto visual de nuestra tabla:
Bueno gente, estimo que sobran motivos para comenzar a trabajar ahora mismo con Tablas, ahorrándonos mucho trabajo en la realización y mantenimiento de funciones o gráficos vinculados a ellas.
Salu2.xlsm
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Etiquetas
Datos
Etiquetas:
Datos
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario