top of page
Foto del escritorJaime Franco Jimenez

Buscar la palabra Banco dentro de un texto, y, totalizar

En el siguiente ejemplo, tenemos una serie de líneas con texto, donde cada línea incluye la palabra Banco, pero no en la misma posición en cada cadena, y, al lado de cada línea un importe.









Queremos calcular el total para cada banco.


Vemos que en cada línea aparece la palabra Banco, seguido de un espacio, y, un numero de banco, queremos extraer el banco junto con su número, para crear una lista única de bancos, para, después, calcular dichos totales.


Tenemos una función llamada ENCONTRAR, que nos devuelve la posición de un valor dentro de una cadena, pues, en una celda voy a escribir el signo igual, seguido de la función ENCONTRAR, y, abro un paréntesis.


=ENCONTRAR(


El primer argumento es valor buscado, pues, entre comillas dobles, ponemos la palabra Banco.


=ENCONTRAR("Banco";


El siguiente argumento es dentro del texto, pues seleccionamos la celda A2.


Cerramos paréntesis, y, aceptamos.


=ENCONTRAR("Banco";A2)


Obtenemos la posición de la palabra B, en la celda A2.





Arrastramos cuatro veces, y, obtenemos la posición de la palabra B en cada cadena.










Los caracteres que tenemos que extraer, son 7, porque Banco, tiene una longitud de cinco caracteres, mas un espacio en blanco, mas un número, son en total 7 caracteres, lo mejor de todo, es que ya sabemos donde debemos de empezar e extraer, gracias a la función ENCONTRAR.


Para extraer los caracteres, usamos la función EXTRAE, pues, después del signo igual ponemos EXTRAE.


=EXTRAE(


El primer argumento es texto, pues, seleccionamos la celda A2.


=EXTRAE(A2


El siguiente argumento es posición inicial, pues, es el resultado de la función ENCONTRAR.


=EXTRAE(A2;ENCONTRAR("Banco";A2)


El siguiente argumento es numero de caracteres, pues, ponemos 7, cerramos paréntesis y aceptamos.


=EXTRAE(A2;ENCONTRAR("Banco";A2);7)


Tenemos extraído de la primera cadena, Banco 1.





Arrastramos de nuevo cuatro veces, y, tenemos extraído de cada cadena la palabra Banco seguido de su número.








Pero vemos que Banco 1, se repite, y, debemos de quedarnos con los valores únicos, para obtener los totales.


Seleccionamos los bancos.









Vamos a la pestaña de datos, dentro del grupo herramientas de datos, hacemos clic en quitar duplicados.







Se abre una ventana de advertencia, donde marcamos continuar con la selección actual, y, hacemos clic en quitar duplicados.








En la siguiente ventana, aceptamos.


Nos aparece una ventana donde se nos indica la cantidad de duplicados que ha quitado, en este caso, solo uno, y, los valore únicos que permanecen.







Pues, ya estamos preparados para calcular los totales por bancos.


Vamos a empezar usando la función BUSCARV, que acepta los caracteres comodines, porque no todas las funciones los acepta, para buscar Banco dentro de una cadena, debemos de usar el carácter comodín asterisco (*), debido a que no sabemos en posición se encuentra dicha palabra, debemos de usarlo antes, y, después de la palabra Banco.


Quedaría de la siguiente manera:

"*"&D3&"*"


Quiere decir que, en una cadena, va a sustituir todo lo que haya antes de la palabra Banco, y, todo lo que haya después de la palabra Banco.


Pues, esta expresión, es el argumento valor buscado de la función BUSCARV.


=BUSCARV("*"&D3&"*"


Como argumento matriz, seleccionamos las cadenas de texto, junto con los importes.


=BUSCARV("*"&D3&"*";A2:B6;


Como argumento indicador de columnas, ponemos 2.


=BUSCARV("*"&D3&"*";A2:B6;2


Y como tipo de coincidencia, ponemos VERDADERO (FALSO).


Cerramos paréntesis, y, aceptamos.


=BUSCARV("*"&D3&"*";A2:B6;2;FALSO)


Obtenemos la cantidad para Banco 1.





Fijamos A2:B6, y, arrastramos.


=BUSCARV("*"&D3&"*";$A$2:$B$6;2;FALSO)


Obtenemos la cantidad para cada banco.








¿Qué ocurre?


BUSCARV cuando encuentra la primera coincidencia, se para, no sigue buscando, pero resulta que Banco 1, aparece dos veces, y, BUSCARV, solo nos devuelve la primera coincidencia.


Pues, para este ejemplo, BUSCARV no vale.


Probemos con BUSCARX, donde como argumento valor buscado, es la expresión anterior.


=BUSCARX("*"&D3&"*";


Como argumento matriz de búsqueda, es el rango A2:A6.


=BUSCARX("*"&D3&"*";A2:A6;


Como argumento matriz devuelta, ponemos el rango B2:B6.


Cerramos paréntesis, y, aceptamos.


=BUSCARX("*"&D3&"*";A2:A6;B2:B6)


Obtenemos un error.





BUSCARX si trabaja con caracteres comodines, pero debemos de indicarle, para ello, borramos el paréntesis de cierre, omitimos el argumento si no se encuentra, y, en el argumento modo de coincidencia, seleccionamos coincidencia de caracteres comodín







Cerramos paréntesis, y, aceptamos.


=BUSCARX("*"&D3&"*";A2:A6;B2:B6;;2)


Ahora, obtenemos el valor para Banco 1.





Fijamos A2:A6, y, B2:B6.


=BUSCARX("*"&D3&"*";$A$2:$A$6;$B$2:$B$6;;2)


Arrastramos.


Tenemos los importes para cada banco.








Pero, tenemos el mismo problema que con BUSCARV, el Banco 1, aparece dos veces, y, BUSCARX, para en la primera coincidencia.


Por lo que tampoco podríamos usarla.


Pero, si podemos usar la función SUMAR.SI, que también admite caracteres comodines, para ello, escribimos el signo igual, seguido de SUMAR.SI, y, abrimos un paréntesis.


=SUMAR.SI(


Como rango de criterios, seleccionamos desde A1 a A6.


=SUMAR.SI(A2:A6;


Como criterio, ponemos los caracteres comodines junto con la celda D3.


=SUMAR.SI(A2:A6;"*"&D3&"*";


Como argumento rango de suma, seleccionamos el rango B2:B6.


Cerramos paréntesis, y, aceptamos.


=SUMAR.SI(A2:A6;"*"&D3&"*";B2:B6)


Vemos como si obtenemos el total para Banco 1, que es el que aparece dos veces.




Fijamos los rangos A2:A6, y, B2:B6.


=SUMAR.SI($A$2:$A$6;"*"&D3&"*";$B$2:$B$6)


Aceptamos, y, arrastramos.


Ya tenemos los totales para cada banco.








21 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comentarios


bottom of page