martes, 28 de mayo de 2019

Contar caracteres sobre un rango de celdas

Todos esperamos como 'agua de mayo' las funciones de matrices dinámicas (dynamic arrays formulas)... y esperemos lleguen pronto ;-)

Pero a pesar de su potencial no podremos olvidar nunca las potentes fórmulas matriciales (fórmulas CSE).


Hoy aplicaremos, basándonos en un post anterior del blog, un uso matricial que nos permitirá contar registros en una base de datos.

Supongamos tenemos la siguiente base de datos con info de movimientos por país... dándose el caso que en una misma celda nos podemos encontrar varios registros!!
Por suerte la estructura de los registros es siempre igual:
PAÍS (#)

Contar caracteres sobre un rango de celdas



La fórmula matricial buscada en B2 sería
=SUMA(LARGO(TblReg[ventas])-LARGO(SUSTITUIR(TblReg[ventas];"(";"")))
ejecutada matricialmente, i.e., presionado Control + Mayúscula + Enter.

Lo que conseguimos con la parte interna de la fórmula:
LARGO(TblReg[ventas])-LARGO(SUSTITUIR(TblReg[ventas];"(";""))
es obtener para cada celda el número de veces que aparece el '(', esto es, un vector del tipo: {0;1;2;0;1}
Vector de valores que acabamos sumando consiguiendo el dato buscado.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.