Funciones de Texto (IV): Carácter y Código

En esta entrada vamos a repasar un par de funciones de Texto. La función Carácter y la función Código.

La función CARACTER() traduce un número entre 1 y 255 en el carácter que le corresponde según el código ANSI

Caracter1 (2)

La función solo consta de un único argumento, el número del que queremos obtener el carácter correspondiente.

Esta función puede resultar útil si nos encontramos con símbolos extraños que no podemos escribir directamente con el teclado del ordenador. Ya sea porque deseamos añadir dichos símbolos, o bien porque nuestros datos contienen alguno de esos símbolos y necesitamos trabajar con esas celdas.

Imaginemos que hemos extraído nuestros datos de alguna fuente externa, internet o algún correo electrónico a través del cual nos han hecho llegar datos con los que debemos trabajar. Y entre alguno de los literales de esa base de datos encontramos alguno de los símbolos formando parte del nombre. Nosotros necesitamos poder identificar esos individuos también, así que tendremos que utilizar la función CARACTER() para poder replicar dichos símbolos. Incorporándola en funciones de concatenado, o de búsqueda para poder diferenciar los literales con caracteres poco usuales respecto a los literales de otros individuos que nos permiten trabajar más fácilmente.

También podemos acceder a la función CARACTER() a través de la pestaña de Fórmulas, dentro de las funciones de Texto. Si pulsamos en la función CARACTER() se abrirá la siguiente ventana:

Caracter2 (2)

Vemos que hemos de introducir el número que deseamos codificar. Dicho número se debe encontrar entre 1 y 255 para que la función devuelva un resultado válido.

Si tenemos una función para codificar los números en su código ANSI también tenemos otra función donde traduce los símbolos en su número correspondiente. Esa tarea la realiza la función CODIGO()

La función CODIGO() devuelve el número de código del carácter indicado.

Codigo1 (2)

Para poder ejecutar esta función sólo es necesario indicar un parámetro. El texto del que se desea obtener su código. Dicho texto puede ser un carácter o un texto más largo, no da problemas de error, pero solo devuelve el código del primer carácter.

También se puede acceder a CODIGO() a través de la pestaña de Fórmulas, dentro de las fórmulas de texto seleccionando CODIGO() para obtener la siguiente ventana:

Codigo2 (2)

Ambas funciones se basan en el código ANSI, que va desde el valor 1 al 255:

CODIGOANSI

Tenemos distribuida la imagen en grupos de tres columnas del 1 al 255. En la primera columnas encontramos el número del código. La segunda se corresponde al resultado de la función CARACTER() sobre el número y la tercera columna al resultado de la función CODIGO() sobre el símbolo de la segunda columna.

 

Anuncios

Problema III: Buscando máximos.

Tal vez alguna vez tengamos que buscar un valor máximo o mínimo de un conjunto de datos, pero no nos interese realmente el valor sino quien lo origina. Tal vez tengamos un listado de notas de un instituto y necesitemos saber quién ha obtenido la mejor nota de la clase, pero ¿realmente nos interesa si era un 9,8 o un 10 o a qué alumno pertenece dicha nota? O tal vez dentro de ese mismo colegio tengamos todas las notas de las asignaturas y deseemos saber que asignatura le va mejor o peor a cada alumno. No nos interesa si es un 2,1 o un 3,7 sino si esa nota pertenece a matemáticas o a literatura. Hoy vamos a mostrar algunos trucos para obtener dicha información.

Imaginemos que tenemos una muestra de 50 personas que han ido a hacer turismo a Barcelona, han estado viendo los principales sitios de interés de la ruta programada y al final de la ruta les han pedido que puntuaran del 0 al 10 cada uno de los monumentos, no tenían que ordenarlos de cual les ha gustado más o menos, sino puntuar cada monumento por separado. Obtenemos unos resultados como estos:

MuestraNotasMonumentos

¿Cómo haríamos para encontrar que monumento le ha gustado más a cada uno de los visitantes?

Podríamos hacerlo en 2 pasos; el primero sería obtener máximo de cada uno de los visitantes, mediante la función MAX()

MaxMonumento

Vemos que busca el valor máximo del conjunto de datos B3 a H3, las columnas que se corresponden a los lugares visitados. En este caso son los valores de Mónica Garrido, fila 3, pero deberemos hacer lo mismo para cada uno de los visitantes.

El siguiente paso sería ver a que visita se corresponde esta nota máxima. Para eso utilizaremos las funciones INDICE() y COINCIDIR()

IndiceCoincidirMonumento

Estas dos funciones se utilizan conjuntamente como función de búsqueda si los valores a comparar no se encuentran en la primera fila o columna. En este caso la primera fila se corresponde a los lugares visitados y la primera columna a los visitantes, y nosotros estamos comparando el valor máximo obtenido que se encuentra en J3, con un conjunto de datos. En esta entrada sobre búsquedas con INDICE() y COINCIDIR() encontrareis una explicación más extensa sobre cómo utilizarlas conjuntamente.

La función COINCIDIR() nos dirá de entre todo el conjunto de valores: B3 a H3, las notas otorgadas por el visitante, en qué posición se encuentra el valor buscado, J3 el máximo obtenido. A continuación ese resultado de COINCIDIR() se utiliza como input para la función INDICE(). La función INDICE() nos devuelve el valor del conjunto B2: H2 que se corresponden a las etiquetas de los lugares visitados,  que se encuentra en una determinada posición. En este caso la posición viene determinada por el resultado de COINCIDIR(), así si la función COINCIDIR() ha obtenido un 3 porque el valor máximo obtenido J3 se correspondía con el valor de la posición 3 del conjunto B3 H3, este 3 servirá como imput para INDICE() y nos devolverá el nombre de la visita que se encuentre en la posición 3 del conjunto B2 H2.

En el caso de Mónica Garrido el valor máximo obtenido sería 9,79 y el lugar visitado se correspondería al Camp Nou.

Otra alternativa para realizar el mismo cálculo es integrar ambos pasos en una única fórmula:

=INDICE($B$2:$H$2;COINCIDIR(MAX($B3:$H3);$B3:$H3;0))

Deberemos utilizar las mismas 3 funciones, la función INDICE(), la función COINCIDIR() y la función (MAX).

En este caso vemos que el lugar que ocupaba J3 ahora lo ocupa la función MAX($B3:$H3) que era justo la función que encontrábamos en la celda J3, como ya hemos visto en el paso 1.

De esta forma no necesitamos tener una columna auxiliar con los máximos de cada persona.

Si ahora quisiéramos saber ¿Qué visitante ha puntuado mejor a cada una de los lugares visitados? Simplemente deberíamos modificar los intervalos pero la función sería la misma:

=INDICE($A$3:$A$52;COINCIDIR(MAX($B3:$B52);$B3:$B52;0))

En este caso veríamos que visitante ha quedado más encantado con el parque de la Ciutadella, visita que se encuentra en la columna B.

Y sí queremos saber ¿qué visita ha conseguido la puntuación más alta? O ¿Quién ha sido el que ha puesto la nota más alta?

Tanto para una respuesta como para la otra en este caso sí que necesitamos celdas y columnas auxiliares. No podemos extraer el resultado con una única fórmula. Ya que ni INDICE() ni COINCIDIR() se maneja bien localizando entre matrices.

Primero calcularemos el máximo global: =MAX($B$3:$H$52)

Esto nos dará el valor máximo de la matriz de puntuaciones de los visitantes y nuestro valor a comparar.

Luego tendremos que seguir los dos pasos explicados al inicio. Primero calcular el máximo para cada visitante y colocarlos en una columna.

Si queremos saber quién ha otorgado la máxima puntuación nos podemos quedar en este paso. Simplemente utilizando la siguiente fórmula: =INDICE($A$3:$A$52;COINCIDIR($J2;$J3:$J52;0))

Vemos que compara nuestro máximo global localizado en J2 con la columna de máximos de cada visitante que se encuentra en J3 a J52, y la posición en la que lo localiza la devuelve para que busque la posición del intervalo A3 a A52 donde tenemos los nombres de los visitantes con la función INDICE. Igual que hemos visto anteriormente para localizar el nombre del monumento.

Sí que podríamos juntar la función del máximo global con las de INDICE() y COINCIDIR(), pero tendríamos que seguir creando la columna con los máximos de cada visitante.

Para buscar la visita mejor valorada tenemos dos opciones o crear un conjunto de máximos uno para cada columna para ver la puntuación máxima de cada monumento y luego comparar nuestro máximo con esa, o bien partiendo del punto anterior ya que tenemos una columna con los máximos de cada visitante, utilizar INDICE() y COINCIDIR() como hicimos en el paso 2, para descubrir a que visita se corresponde la nota más alta de cada visitante, y una vez que tenemos esta segunda columna, volver a utilizar INDICE() y COINCIDIR() para buscar nuestro máximo global dentro de esa columna.

=INDICE($L$3:$L$52;COINCIDIR($J2;$J3:$J52;0))

Vemos que la fórmula es idéntica a la anterior, simplemente hemos cambiado la columna donde busca la función INDICE(), antes para el nombre del visitante era el intervalo A3 A52 donde teníamos los nombres y ahora es L3 L52 donde hemos colocado los nombres de las visitas más valoradas.

En este archivo de Excel Maximos se encuentra el ejemplo utilizado con las fórmulas para poder practicar. Espero que estos trucos sean de utilidad y estaré encantado de leer vuestras opiniones o dudas al respecto.

 

Problema II: Creando muestras, otorgando nombres y notas al azar.

Imaginemos que queremos crear una muestra para hacer prácticas con EXCEL, queremos datos con los que podamos trabajar pero nos queremos ahorrar estar introduciendo datos durante mucho tiempo. Tenemos algunos trucos que podemos utilizar para crear una muestra amplia.

(más…)

INQUIRE Excel 2013 (III). Complemento para analizar archivos de Excel. Relaciones de libro y Comparar archivo.

INQUIRE es un complemento de Excel que solo encontramos en algunas versiones (Excel 365, Excel 2013 Professional Plus y Office Professional Plus 2016) que nos permite hacer diversos análisis del archivo que estamos trabajando. En esta entrada vimos como instalarlo en Excel y empezamos a ver algunas de los recursos que nos permite utilizar la nueva pestaña y en esta otra entrada explicamos en que consistía el Análisis de libro. En la entrada de hoy vamos a acabar de explicar el resto de opciones y utilidades de INQUIRE que nos permiten ver las relaciones que se establecen en nuestro libro y también comparar archivos.

Inquire1

(más…)

INQUIRE Excel 2013 (II). Complemento para analizar archivos de Excel. Análisis de libro.

INQUIRE es un complemento de Excel que solo encontramos en algunas versiones (Excel 365, Excel 2013 Professional Plus y Office Professional Plus 2016) que nos permite hacer diversos análisis del archivo que estamos trabajando. En esta entrada vimos como instalarlo en Excel y empezamos a ver algunas de los recursos que nos permite utilizar la nueva pestaña. Hoy explicaremos en que consiste el Análisis de libro

Inquire1

Si pulsamos el botón de Análisis de libro se abre una nueva ventana, tarda un poco en cargar según el tamaño del archivo y la información que contenga pero al final obtenemos un esquema como el que vemos a continuación:

InquireAnalisisLibro

Tenemos 3 apartados, en la izquierda un recuadro de Elementos, a la derecha un apartado de Resultados y en la parte inferior un apartado para Exportar los datos del análisis.

(más…)