jueves, 3 de julio de 2014

Transformar una Matriz a Sistema de Numeración Binario

"Necesito transformar una matriz numérica en una matriz binaria (con valores 0 ó 1), es decir, que los valores que superen un cierto número se conviertan en uno y el resto en cero".

El pasado lunes 30 de junio les prometí a mis alumnos del Master in Management del IE Business School que les dedicaría el próximo post que publicase. Vaya pues por delante la dedicatoria y mi agradecimiento a una clase maravillosa!

Vamos a resolver el problema planteado con una sencilla fórmula utilizando la función lógica SI y acabando con un Ctrl + Enter. Partimos del siguiente ejemplo:

Se trata de una matriz de 8x10 (8 columnas y 10 filas) y lo que buscamos es transformar los números que aparecen en 1 y 0. Para ello necesitamos un criterio, es decir, un valor, por ejemplo, a partir del cuál los valores inferiores se conviertan en uno y, por contra, los valores superiores se conviertan en cero. Dicho criterio lo tenemos en la celda C2. Lo que hacemos a continuación es seleccionar una matriz de la misma dimensión, es decir, seleccionar un rango de 8 columnas por 10 filas. Lo hacemos en B19:I28

Con dicho rango seleccionado escribimos la fórmula:  =SI(B5<$C$2;1;0) y finalizamos pulsando Ctrl + Enter. De esta manera rellenamos de una sola vez toda la matriz resultante:

Si además queremos que, por ejemplo, los 1 se destaquen en negrita y cambie el color de fondo, podemos aplicar Formato condicional. Para ello dentro de la ficha Inicio seleccionamos Formato condicional. En el menú que se abre seleccionamos Resaltar reglas de celdas y, en el nuevo menú, Es igual a...  Aparecerá la siguiente ventana:

Escribimos un 1, dejamos el formato que aparece (si queremos aplicar cualquier otro abrimos la lista y marcamos Personalizado) y pulsamos Aceptar. El resultado será el deseado: