top of page
Foto del escritorJaime Franco Jimenez

Recuento de provincias por centro y producto

Trabajamos con el modelo que suelo trabajar habitualmente, voy a crear una matriz en vertical con los centros comerciales únicos, y, una matriz en horizontal, con los productos únicos, y, queremos que, en cada centro y producto, aparezca el número de provincias donde dicho producto ha sido vendido en dicho centro, en otras palabras, si tenemos C.C. Nervión, y, aspiradora, queremos saber en que cantidad de provincias aparece dicho centro y producto.


Vamos a crear la matriz vertical, con los centros, para ello, uso la función UNICOS, como sigue:


=UNICOS(Table1[Centro])


Y para los productos en horizontal, usamos TRANSPONER, junto con UNICOS.


=TRANSPONER(UNICOS(Table1[Producto]))


Ya tenemos construida la matriz.








Empecemos, voy a usar la función FILTRAR, donde como argumento array, va a ser la columna de provincia.


=FILTRAR(Table1[Provincia];


Como argumento include, abro un paréntesis, selecciono la columna de centro, y, la igualo al valor de la celda H2, que es el primer centro comercial, y, cierro el paréntesis.


=FILTRAR(Table1[Provincia];(Table1[Centro]=H2)


Pongo el símbolo del asterisco, abro otro paréntesis, selecciono la columna de producto, y, la igualo al valor de la celda I2, que es el primer producto, cierro paréntesis de la condición, y, paréntesis de la función.


=FILTRAR(Table1[Provincia];(Table1[Centro]=H2)*(Table1[Producto]=I1))


Obtengo una matriz desbordada con las provincias donde aparece el primer centro, y, el primer producto.













Pero, las provincias se repiten, por lo que con la función UNICOS, voy a quedarme con los valores únicos.


=UNICOS(FILTRAR(Table1[Provincia];(Table1[Centro]=H2)*(Table1[Producto]=I1)))


Pero, como lo que quiero es un recuento, después del signo igual, uso la función CONTARA, que me va a contar dentro de un rango las celdas alfanuméricas.


=CONTARA(UNICOS(FILTRAR(Table1[Provincia];(Table1[Centro]=H2)*(Table1[Producto]=I1))))


Me devuelve 16, quiere decir que el centro comercial Nervión, y, el producto aspiradora, aparecen en 16 provincias.





Ahora, he de copiar tanto en vertical, como en horizontal, por lo que antes, debo de fijar la columna de la celda H2, para que al copiar hacia la derecha la columna no se actualice, y, la fila de la celda I1, para que, al copiar hacia abajo, la fila no se actualice.


=CONTARA(UNICOS(FILTRAR(Table1[Provincia];(Table1[Centro]=$H2)*(Table1[Producto]=I$1))))


Seleccionamos la celda que contiene la función, pulsamos CTRL mas C para copiar, seleccionamos el resto del rango, y, pulsamos CTRL mas V, para pegar, y, ya tenemos las veces que aparecen las provincias, en cada centro y producto.








Veamos otra forma de hacerlo.


Voy a usar el condicional SI, para preguntar que si la columna centro, es igual al valor de la celda H2, en el argumento valor si verdadero, uso otro condicional SI, para preguntar si la columna producto, es igual al valor de la celda I2, en ese caso, que me devuelva la columna de provincia, en caso contrario, que ponga el numero cero.


=SI(Table13[Centro]=H2;SI(Table13[Producto]=I1;Table13[Provincia];0);0)


Obtengo una matriz desbordada, con las provincias que cumplen con la condición, y, cero donde no cumple.











Ahora, me voy a quedar con los valores únicos.


Obtengo la matriz desbordada con las provincias únicas, pero vemos que también, aparece el valor cero, por lo que, si hago un recuento, me dará uno más.


















Voy a encerrar la expresión anterior entre paréntesis, pero antes de cerrar el paréntesis de cierre, voy a preguntar si el resultado es mayor a cero.


=(UNICOS(SI(Table13[Centro]=H2;SI(Table13[Producto]=I1;Table13[Provincia];0);0))>0)


Obtengo una matriz desbordada con VERDADERO donde el resultado es mayor a cero, y, FALSO donde no lo es.


Ahora, voy a usar el doble signo negativo, que me devuelve 1, si es VERDADERO, y, 0, si es FALSO.


=--(UNICOS(SI(Table13[Centro]=$H2;SI(Table13[Producto]=I$1;Table13[Provincia];0);0))>0)

















Ahora, simplemente, uso la función SUMA.


=SUMA(--(UNICOS(SI(Table13[Centro]=H2;SI(Table13[Producto]=I1;Table13[Provincia];0);0))>0))


Y obtengo el mismo resultado que el anterior.











Igual que antes, fijamos, y, arrastramos en vertical, y, horizontal.


Vamos a ver una última forma.


Voy a concatenar la columna de centro y de producto.


=Table13[Centro]&Table13[Producto]


La igualo con H2 concatenado con I2.


=Table13[Centro]&Table13[Producto]=H2&I1


Obtengo una matriz desbordada con VERDADEROS, y, FALSOS.


Voy a preguntar que, si la expresión anterior es igual a VERDADERO, que me devuelva la provincia, en caso contrario, devuelva cero.


=SI(Table13[Centro]&Table13[Producto]=H2&I1;Table13[Provincia];0)


Obtengo una matriz desbordada, con la provincia donde hay coincidencia, y, cero donde no la hay.














Me quedo con los valores únicos.


=UNICOS(SI(Table13[Centro]&Table13[Producto]=H2&I1;Table13[Provincia];0))


Obtengo la matriz desbordada, pero de nuevo aparece el valor cero.























Ya es igual que antes, pregunto si es mayor a cero.


=(UNICOS(SI(Table13[Centro]&Table13[Producto]=H2&I1;Table13[Provincia];0))>0)


Obteniendo una matriz desbordada con VERDADEROS, y, FALSOS.
























Uso el doble signo negativo.


=--(UNICOS(SI(Table13[Centro]&Table13[Producto]=H2&I1;Table13[Provincia];0))>0)






















Sumo los resultados.


=SUMA(--(UNICOS(SI(Table13[Centro]&Table13[Producto]=H2&I1;Table13[Provincia];0))>0))


Obtengo el mismo resultado que los anteriores.





Solo queda arrastrar.



8 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page