top of page
Foto del escritorJaime Franco Jimenez

Dividir ventas en tabla2

Tenemos el siguiente modelo, donde tenemos una columna con una serie de almacenes, y, otra columna con las ventas para dicho almacén.

Después, tenemos otra tabla, donde en la primera columna tenemos una serie de almacenes, que se repiten, debemos de dividir las ventas del primer modelo en el segundo modelo en parte iguales, por ejemplo, para el almacén A, tenemos 1000, y, en el segundo modelo aparece dos veces dicho almacén, quiere decir, que cada almacén, debe de aparecer con 500, siendo la suma los 1000.


En la celda E3, usamos LET, creamos una variable, seleccionamos el rango D3:D11.


=LET(a;D3:D11

 

Creamos otra variable, usamos la funcion CONTAR.SI, como argumento rango, ponemos la variable “a”, como argumento criterio, ponemos la variable “a”, vamos a obtener una matriz con las veces que aparece cada almacén.


=LET(a;D3:D11;b;CONTAR.SI(a;a);b)

El recuento que hemos obtenido esta en el mismo orden que aparecen los almacenes, por lo que nos quedamos con los valores únicos.


=LET(a;D3:D11;b;UNICOS(CONTAR.SI(a;a));b)

 

Tenemos las veces que aparece cada almacén.

Antes de UNICOS, seleccionamos el rango B3:B5 y dividimos por la funcion UNICOS.


=LET(a;D3:D11;b;B3:B5/UNICOS(CONTAR.SI(a;a));b)

 

Tenemos el valor que corresponde con cada almacén.

Creamos otra variable, usamos la funcion HALLAR, como argumento valor buscado, ponemos en horizontal el rango A3:A5, como argumento dentro del texto, ponemos la variable “a”.


=LET(a;D3:D11;b;B3:B5/UNICOS(CONTAR.SI(a;a));c;HALLAR(ENFILA(A3:A5);a);c)

 

Tenemos una matriz desbordada de tres columnas, con1 donde hay coincidencia, y, error donde no la hay.

Preguntamos si es numero el resultado de HALLAR.


=LET(a;D3:D11;b;B3:B5/UNICOS(CONTAR.SI(a;a));c;ESNUMERO(HALLAR(ENFILA(A3:A5);a));c)

 

Obtenemos la misma matriz que la anterior, pero, con VERDADERO donde es número, y, FALSO donde no lo es.

Preguntamos si el resultado de ESNUMERO es VERDADERO, que nos devuelva en horizontal la variable “b”, en caso contrario, que devuelva un error.


=LET(a;D3:D11;b;B3:B5/UNICOS(CONTAR.SI(a;a));c;ESNUMERO(HALLAR(ENFILA(A3:A5);a));SI(ESNUMERO(HALLAR(ENFILA(A3:A5);a));ENFILA(b);NOD()))

 

Tenemos el valor que corresponde con cada almacén, y, error donde no hay coincidencia.

Usamos la funcion ENCOL, como argumento matriz es la expresión que tenemos, como argumento ignorar, seleccionamos 3, es decir, ignorar blancos y errores.


=LET(a;D3:D11;b;B3:B5/UNICOS(CONTAR.SI(a;a));c;ESNUMERO(HALLAR(ENFILA(A3:A5);a));ENCOL(SI(ESNUMERO(HALLAR(ENFILA(A3:A5);a));ENFILA(b);NOD());3))

 

Aceptamos, y, ya lo tenemos.



Miguel Angel Franco

0 visualizaciones0 comentarios

Comments


bottom of page