martes, 25 de octubre de 2016

Alternativa Matricial para Tablas Auxiliares

Hoy repasaremos un aspecto importante de las fórmulas matriciales: las Constantes Matriciales, y en concreto cómo usarlas para evitar el uso de tablas auxiliares o de apoyo.

Ya hemos empleado alguna vez estas contantes matriciales (ver ejemplo).
Sirva a modo de recordatorio lo siguiente:
Una Matriz de constantes (o constante Matricial) no es más que una matricial cuyos elementos son valores fijos.
Esta matriz la podemos construir bien dándole una orientación horizontal, algo del tipo ={1;2;3;4}; o bien con una orientación vertical ={1\2\3\4}... o por supuesto, combinando ambos signos de puntuación, tendríamos una matriz de constantes bidimensional ={1\2;3\4;5\6}.


Lo que haremos hoy será aprovecharnos de estas constantes matriciales para evitar, a modo de alternativa, el uso de rangos o tablas auxiliares de apoyo.
Veamos un ejemplo.

Alternativa Matricial para Tablas Auxiliares



La idea es clara, teniendo como nexo común en ambas tablas, el nombre del comercial, queremos recuperar en la Tabla principal el porcentaje de descuento correspondiente a cada comercial.
La primera intentona sería, obviamente, aplicar un BUSCARV tomando como Matriz de búsqueda la tabla auxiliar...

Pero como pretendemos evitar este uso, y para estos casos en los que el número de datos es corto, crearemos una constante matricial de cuatro filas (separador ;) y dos columnas (separador \) por fila:
{"pepe"\0,05;"juan"\0,06;"ana"\0,04;"eva"\0,035}

Es posible trabajar directamente con esta constante en la función, añadiendo en la celda E2:
=BUSCARV([@Comercial];{"pepe"\0,05;"juan"\0,06;"ana"\0,04;"eva"\0,035};2;0)

Alternativa Matricial para Tablas Auxiliares


O bien, crear un Nombre definido que corresponda a dicha constante:
Dcto ={"pepe"\0,05;"juan"\0,06;"ana"\0,04;"eva"\0,035}

para posteriormente emplear el nombre definido en vez de la constante directamente...

Alternativa Matricial para Tablas Auxiliares



Esta técnica es válida especialmente cuando el número de constantes es fijo (no aumenta ni disminuye) y no son demasiados... ya que la constante hay que crearla manualmente.

Un truco rápido para no equivocarnos al escribir la constante matricial es escribirla como siempre haríamos, dispuesta en un rango de celdas (por ejemplo, H1:I4).
En una celda vacía seleccionamos dicho rango:
=H1:I4

Alternativa Matricial para Tablas Auxiliares



y a continuación presionamos la tecla de función F9, lo que nos convertirá ese rango en una matriz de valores:

Alternativa Matricial para Tablas Auxiliares



Esa matriz de valores es la que copiaremos y pegaremos donde necesitemos de ella... pudiendo despueés hacer desaparecer ese rango.

2 comentarios: