Pasar al contenido principal

Se encuentra usted aquí

Fórmulas Matriciales en una celda en Ms Excel 365

Enviado por letes el Dom, 02/22/2015 - 12:08
ImprímeloImprímelo

Vamos a comenzar a ver un tema que sin duda, pertenece a Excel avanzado. Claro está, según lo utilicemos. El concepto de fórmulas matriciales puede resultar un tanto complicado, aunque estoy convencido que con práctica, te resultará sencillo a la vez útil.

Vamos a ir entrando en materia, una fórmula matricial no es otra cosa que una fórmula que trabaja con múltiples variables y por tanto, múltiples resultados. De esta forma, podemos obtener varios resultados en una fórmula “sencilla”. Este tipo de fórmulas, puede darnos el resultado en una sola celda, o en varias celdas previamente seleccionadas, que es lo que se conoce como matriz de datos.

Para entender cómo funcionan las matrices de datos, vamos a retomar el artículo eserror en Microsoft Excel. Si lo has leído (como sería conveniente), te habrás dado cuenta de que funciona correctamente siempre que tengamos un patró que buscar. En nuestro caso, era el “Nº”, “N.º”, “,”. Pero ¿qué ocurriría si la dirección no llevara ningún patrón, y lo que necesitáramos fuera encontrar el primer carácter numérico dentro de la celda?

Formulas matriciales en una celda excel 365

Vamos a ver precisamente eso, encontrar el primer carácter numérico dentro de una celda y para hacer esto, necesitamos utilizar matrices de datos.

Como hemos visto anteriormente, la función hallar se forma con 2 parámetros, qué buscar y donde. De esta forma, podríamos decir: Hallar(“f”; A1) y  excel nos devolvería la posición en la que se encuentra la letra “f” en la celda A1. Pongamos ahora que necesitamos, como es el caso, averiguar la posición en la que se encuentra el primero de los caracteres numéricos dentro de la celda. 

Formulas matriciales en una celda excel 365

Supongamos que tenemos direcciones como éstas y necesitamos extraer únicamente la calle, sin el número. Necesitaremos indicar la posición exacta en la que se encuentra el primer carácter numérico. 

Si utilizamos la función hallar o encontrar, necesitamos decirle qué estamos buscando. En nuestro caso, sería cualquiera de los números enteros. En esta ocasión, nuestro patrón sería “0;1;2;3;4;5;6;7;8;9” pero, y aquí viene lo interesante, debemos quitar las comillas y poner el patrón entre llaves “{

 }”
. De esta forma, Excel hace la fórmula una vez por cada uno de los números enteros y guarda el resultado de la misma.

La fórmula de hallar en este caso, nos quedaría de la siguiente forma:  HALLAR({0;1;2;3;4;5;6;7;8;9};a1)

OJO. Al utilizar las “{}” estamos diciendo a Excel que la fórmula es matricial por lo que para ejecutarla, no nos sirve pulsar el “Intro”. Lo que pulsaremos para ejecutar la fórmula es la combinación Control+Shift+Intro.

Formulas matriciales en una celda excel 365

Una vez hecho esto, la fórmula se ha ejecutado pero lo que nos devolverá será #VALOR. ¿por qué? pues porque Excel realiza la fórmula tantas veces como “patrones” tengamos en la matriz de datos utilizada en la búsqueda. Como podemos ver a continuación:

 Formulas matriciales en una celda excel 365

Fíjate en la barra de fórmulas, verás que hay 4 llaves, aunque tú, solo has puesto 2. Esto es porque al tratarse de una fórmula matricial, Excel las coloca directamente. Las llaves que tú has puesto son para indicar a Excel que utilizamos una matriz, en la búsqueda.

Fíjate es la siguiente imagen, donde he hecho la fórmula sin matriz, para los valores 0, 1 y 2.

 Formulas matriciales en una celda excel 365

Como puedes ver, el 0 nos da valor porque no se encuentra en la celda A1. Por eso es que la fórmula matricial nos da error. ¿Cómo se soluciona esto? Pues trabajando un poco más con los valores obtenidos. 

Vamos a intentar averiguar cuál es el menor de los valores que nos devuelve la fórmula matricial. Nosotros ya hemos visto que es 6. Es decir la posición del primer valor numérico de la celda es la 6 pero necesitamos que nos lo solucione la fórmula matricial. Para esto, lo primero que haremos es quitar los valores erróneos. Para eso, debes conocer perfectamente a función si.error, que ya vimos anteriormente.

 Formulas matriciales en una celda excel 365

Haciendo esto, conseguimos que en vez de error, nos ve un valor vacío. Todos los errores tenía la matriz, han desaparecido dejando valores vacíos o posiciones correctas. 

Ahora, necesitamos averiguar la primera posición en la que aparece el valor numérico. La función MIN(), nos ayudará a hacer eso. Vamos a ver cómo:

 Formulas matriciales en una celda excel 365

Aunque sobra decirlo a estas alturas de curso, lo que vamos haciendo es ampliar nuestra fórmula inicial por los laterales, de forma que vamos anidándola dentro de las nuevas. Como puedes comprobar, ahora nos está dando el resultado que necesitamos. En la celda A1 el primer carácter numérico se encuentra en la posición 6. 

¿Hemos terminado?, No, aún nos queda el poder extraer el nombre de la calle, sin l número. Claro que esto es sencillo ya que tenemos la posición que necesitamos para extraer el resto. Lo vemos:

La celda A1 contiene la calle “Goya”. Esta calle mide 4 caracteres. Con lo que a la posición 6 que hemos obtenido de la anterior fórmula debemos restarle 2. ¿Por qué 2 y no otra cifra?, pues porque la posición 6 es la posición en la que se encuentra el primer carácter numérico, que no necesitamos para nada. La posición 5, sería el espacio en blanco que separa la calle del número. Esta posición, tampoco la necesitamos. Al descontar estas 2 posiciones, obtenemos la medida real del nombre del acalle. 4. Veámoslo hecho:

 Formulas matriciales en una celda excel 365

Ahora, ya estamos listos para extraer la dirección deseada. En este ejemplo utilizaremos “IZQUIERDA” ya que comenzamos desde la primera posición, hasta un numero deseado.

 Formulas matriciales en una celda excel 365

Recuerda siempre que la combinación de teclas que se debe teclear para ejecutar la fórmula es Control+Shift+Intro.

Ánimo y si tienes lagunas de las fórmulas a utilizar, no dejes de visitar este enlace donde tienes todos los apuntes anteriores. 

Te ha gustado ? 

Añadir nuevo comentario

Encuesta

¿Qué programa utilizas más?

Pregúntale a Letes