Veamos la función IGUAL, esta función compara dos cadenas de textos, si son iguales nos devuelve VERDADERO, en caso contrario, devuelve FALSO, esta función distingue entre mayúsculas, y, minúsculas.
Sintaxis
IGUAL(texto1, texto2)
· Texto1, argumento obligatorio. Es la primera cadena de texto a comparar.
· Texto2, argumento obligatorio. Es la segunda cadena de texto a comparar.
Veamos un ejemplo.
Tenemos una serie de provincias junto con sus totales.

Queremos saber las ventas de la provincia de Sevilla, para ello, en la celda D2, ponemos la función IGUAL, como argumento texto1, entre comillas dobles, ponemos Sevilla, punto y coma, como argumento texto2, seleccionamos el rango A2:A26.
Cerramos paréntesis.
=IGUAL("Sevilla";A2:A26)
Esta matriz se conoce como matriz desbordada, una matriz desbordada es una función, o, formula que devuelve mas de un resultado, este tema lo veremos más adelante en profundidad.
Si no lo hacemos de esta manera, a la función anterior, en el argumento texto2, solo ponemos A2, y, después arrastramos, fijando celdas si fuese el caso.
=IGUAL("Sevilla";A2)
Lo vamos a hacer con matrices desbordadas, que tiene mas seguridad porque no podemos borrar ninguna celda, excepto la celda con la formula, o, formula, además, nos acostumbramos a trabajar con ellas, porque será el método que usemos mas adelante, por ahorro de tiempo entre otras cosas, la única diferencia de que una función nos devuelva un solo valor, o, mas de un valor es cuando especificamos el rango de búsqueda, en vez de poner una celda, ponemos el rango donde buscar, la siguiente expresión, nos devolvería un solo valor, vemos que en el argumento texto2, solo ponemos una celda.
=IGUAL("Sevilla";A2)
Y, en la siguiente expresión, donde como argumento texto2, seleccionamos un rango, obligamos a la función a devolver más de un valor, y, no tenemos que fijar referencias.
=IGUAL("Sevilla";A2:A26)
Seguimos, aceptamos, y, tenemos una matriz con VERDADERO donde hay coincidencia, y, FALSO donde no la hay.

Lo siguiente es preguntar si el resultado de la función IGUAL es igual a VERDADERO, el cual no hace falta ponerlo, porque de forma predeterminada comparara con VERDADERO, es el argumento prueba lógica del condicional SI.
=SI(IGUAL("Sevilla";A2:A26)
Punto y coma, como argumento valor si verdadero, que nos devuelva la columna de totales.
=SI(IGUAL("Sevilla";A2:A26);B2:B26
Punto y coma, como argumento valor si falso, que ponga un texto en blanco.
Cerramos paréntesis.
=SI(IGUAL("Sevilla";A2:A26);B2:B26;"")
Aceptamos, y, tenemos una matriz con los totales cuando la provincia es Sevilla, y, blanco cuando no lo es.

Usamos la función SUMA para obtener el total.
=SUMA(SI(IGUAL("Sevilla";A2:A26);B2:B26;""))
Ya tenemos el total para la provincia de Sevilla.

Ahora, tenemos el mismo modelo, pero con una columna de productos.

Queremos obtener el total para la provincia de Huelva, y, el producto aspiradora.
En la celda E2, abrimos un paréntesis para poner la primera condición, ponemos la función IGUAL, como argumento texto1, seleccionamos el rango A2:A26, punto y coma, como argumento texto2, entre comillas dobles, ponemos Huelva, cerramos paréntesis de la función IGUAL, cerramos paréntesis de la condición.
=(IGUAL(A2:A26;"Huelva"))
Como argumento texto1, hemos seleccionado un rango, obtenemos como resultado una matriz de valores, donde obtenemos VERDADERO donde hay coincidencia, y, FALSO donde no la hay.

Volvemos a la expresión, ponemos el símbolo de asterisco (*) que es igual que el operador lógico Y, es decir, devuelve VERDADERO si todas las condiciones se cumplen, abrimos otro paréntesis, para poner la segunda condición, ponemos la función IGUAL, como argumento texto1, seleccionamos el rango B2:B26, punto y coma, como argumento texto2, entre comillas dobles, ponemos Aspiradora, cerramos paréntesis de IGUAL y de la condición.
=(IGUAL(A2:A26;"Huelva"))*(IGUAL(B2:B26;"Aspiradora"))
Cuando ponemos más de una condición, en vez de devolver VERDADERO, devuelve el valor 1, y, en vez de devolver FALSO, devuelve el valor 0.
Pues, aceptamos, y, tenemos una matriz de valores con 1 donde hay coincidencia, y, 0 donde no la hay.

Debemos de quedarnos donde el resultado es 1, quiere decir que ambas condiciones se cumplen, pues después del signo igual ponemos el condicional SI, como argumento prueba lógica, es la expresión anterior, y, la igualamos a 1.
=SI((IGUAL(A2:A26;"Huelva"))*(IGUAL(B2:B26;"Aspiradora"))=1
Punto y coma, como argumento valor si verdadero seleccionamos la columna de totales, como argumento valor si falso, ponemos un texto en blanco, y, cerramos paréntesis.
=SI((IGUAL(A2:A26;"Huelva"))*(IGUAL(B2:B26;"Aspiradora"))=1;C2:C26;"")
Aceptamos, y, tenemos una matriz con el total donde hay coincidencia, y, blanco donde no la hay.

Como queremos el total, después del signo igual, usamos la función SUMA.
=SUMA(SI((IGUAL(A2:A26;"Huelva"))*(IGUAL(B2:B26;"Aspiradora"))=1;C2:C26;""))
Ahora, tenemos dos palabras, la primera palabra esta bien escrita, pero la segunda palabra, aunque es la misma, no está bien escrita.

Tenemos que corregir la palabra equivocada por la palabra correcta.
Vamos a hacer uso de la función LET, donde vamos a ir guardando cada paso en una variable.
Debemos de volver a extraer cada carácter, pero lo vamos a realizar de una forma diferente, aunque la función que vamos a usar la veremos en el módulo de búsqueda y referencia, la voy a explicar por encima para poder usarla, dicha función es INDIRECTO, esta función tiene el primer argumento que es referencia, quiere decir que convierte en referencia la celda que especifiquemos, por ejemplo, en la celda E1, tengo el valor D1, en la celda D1, tengo el valor de 25, en una celda escribimos INDIRECTO(E1), lo que va a pasar es que el valor de la celda E1, lo convierte en referencia real, y, nos devuelve el valor de la celda D1, que es 25.
Habiendo dado esta pequeña explicación, en la celda B4, vamos a usar la función que nos va a extraer cada carácter, si en dicha celda, ponemos la función FILA, como argumento usamos INDIRECTO, como argumento referencia, entre comillas dobles ponemos “1:”, concatenamos con la longitud de la celda B1, y, cerramos paréntesis.
=FILA(INDIRECTO("1:"&LARGO(B1)))
Antes de aceptar, veamos que significa la siguiente expresión:
="1:"&LARGO(B1)
Esta expresión nos devuelve:

Quiere decir que debe de empezar en el numero 1, y, terminar en el numero 12, junto con la función INDIRECTO y FILA, conseguimos una matriz de valores, empezando en el numero 1 y terminando en el numero 12, que es cada carácter de la cadena.

Ya tenemos que carácter tenemos de extraer de la cadena, pues, usamos EXTRAE, como argumento texto, seleccionamos la celda B1.
=EXTRAE(B1
Punto y coma, como argumento posición inicial es la posición inicial.
=EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)))
Punto y coma, como argumento numero de caracteres, ponemos 1 y cerramos paréntesis.
=EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)));1)
Obtenemos una matriz con cada carácter de la celda B1.

Pues, después del signo igual declaramos una variable, almacenamos la expresión anterior, creamos otra variable, y, almacenamos la misma expresión, pero cambiamos la referencia B1 por B2.
=LET(a;EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)));1);b;EXTRAE(B2;FILA(INDIRECTO("1:"&LARGO(B2)));1)
Punto y coma, como argumento calculo, ponemos la función IGUAL, como argumente texto1 es la variable “a”, y, como argumento texto2, es la variable “b”.
Cerramos paréntesis.
=LET(a;EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)));1);b;EXTRAE(B2;FILA(INDIRECTO("1:"&LARGO(B2)));1);IGUAL(a;b))
Obtenemos una matriz desbordada con VERDADERO donde hay coincidencia, y, FALSO donde no la hay.

Vamos a preguntar que, si el resultado de la función IGUAL es igual a VERDADERO, no haciendo falta poner la igualdad, porque de forma predeterminada lo comparara con VERDADERO.
=LET(a;EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)));1);b;EXTRAE(B2;FILA(INDIRECTO("1:"&LARGO(B2)));1);SI(IGUAL(a;b)
Punto y coma, como argumento valor si verdadero, que nos devuelva la variable “a”, punto y coma, como argumento valor si falso, que nos devuelva la letra “o”.
Cerramos paréntesis.
=LET(a;EXTRAE(B1;FILA(INDIRECTO("1:"&LARGO(B1)));1);b;EXTRAE(B2;FILA(INDIRECTO("1:"&LARGO(B2)));1);SI(IGUAL(a;b);a;"o"))
Aceptamos, y, vemos como la letra “a” ha sido sustituida por la letra “o”.

Después del signo igual, usamos la función CONCAT, y, ya tenemos la palabra equivocada por corregida.

Miguel Angel Franco
Comments