Calcula la frecuencia (repetición) con la que se producen los valores dentro de un rango o matriz y, a continuación, devuelve una matriz vertical de números.
Sintaxis:
FRECUENCIA (datos, grupos)
Datos. Argumento obligatorio. Es una matriz o rango de un conjunto de valores cuyas frecuencias se desean contar. Si datos no contiene ningún valor, FRECUENCIA devuelve una matriz de ceros.
Grupos. Argumento Obligatorio. Es una matriz de intervalos por los cuales se desea agrupar los valores del argumento datos. Si grupos no contiene ningún valor, FRECUENCIA devuelve el número de elementos contenidos en datos.
Si tiene una versión actual de Microsoft 365, puede introducir la fórmula en la celda superior izquierda, o, celda donde estará la primera formula, y, producirá el derrame, a continuación, presiona ENTER (entrar) para confirmar la fórmula como una fórmula de matriz dinámica.
En caso contrario, la fórmula debe especificarse como una fórmula de matriz heredada, seleccionando primero el rango de salida, introduciendo la fórmula en la celda superior izquierda del rango de salida y pulsando Ctrl + Mayús + entrar para confirmarla.
Excel insertará llaves al principio y al final de la fórmula.
La función FRECUENCIA pasa por alto celdas en blanco y texto.
El número de elementos de la matriz devuelta siempre va a superar en una unidad el número de elementos de grupos. El elemento adicional de la matriz devuelta devuelve la suma de todos los valores superiores al mayor intervalo.
Por ejemplo, al sumar tres rangos de valores (intervalos) especificados en tres celdas, asegúrese de especificar FRECUENCIA en cuatro celdas para los resultados. La celda adicional devuelve el número de valores en grupos que sean superiores al valor del tercer intervalo.
Ejemplo.
Teniendo la siguiente tabla de datos.
Puedo usar la función FRECUENCIA, para saber el número de calificaciones para saber:
Números igual o menor a 70.
Números mayores a 70.
Para ello, voy a crear un cuadro donde voy a ir poniendo las fórmulas.
Recordar, que la función FRECUENCIA, es una función matricial, que va a trabajar con un rango de valores, y, devolverá otro rango de valores.
En la celda E6, escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.
=FRECUENCIA (
Como primer argumento, datos, seleccionamos desde A6 hasta A14.
=FRECUENCIA (A6:A14;
Como segundo argumento, grupos, seleccionamos desde B6 a B9, es decir, las condiciones.
=FRECUENCIA (A6:A14;B6:B9)
Aceptamos, y, como resultado tenemos:
Es decir, hay un número que es menor o igual a 70, en este caso, es el número 50, y, hay 8 números mayores a 70.
Veamos otro ejemplo, basado en esta tabla, pero con algunas modificaciones, ahora, el cuadro a comparar es el siguiente:
Usando la misma fórmula, el resultado es:
Es decir, hay un número menor o igual a 70, que es el número 50, hay dos números entre 71-79, que son el 78 y 79, entre 80 y 89, tenemos el 85, que aparece dos veces, los cuales se cuentan como dos, entre el 81 y el 89, tenemos el número 95 y 97.
Veamos otro ejemplo, tenemos una tabla de valores, que son ID. Producto, y, el producto al que pertenece ese ID. Es decir, hay un número menor o igual a 70, que es el número 50, hay dos números entre 71-79, que son el 78 y 79, entre 80 y 89, tenemos el 85, que aparece dos veces, los cuales se cuentan como dos, entre el 81 y el 89, tenemos el número 95 y 97.
Veamos otro ejemplo, tenemos una tabla de valores, que son ID. Producto, y, el producto al que pertenece ese ID.
Ahora, tenemos una serie de ventas en distintas fechas de los diferentes productos.
Quiero saber que cantidad de productos se han vendido.
Para ello, en la columna “+ vendidos”, escribo la siguiente formula:
=SI (FRECUENCIA (E6:E11;A6:A9)=0;"";FRECUENCIA(E6:E11;A6:A9))
¿Qué quiere decir?
Si solo pongo la siguiente sintaxis:
=FRECUENCIA (E6:E11;A6:A9)
Me va a aparecer todos los valores, incluso aquellos que no se repiten, y, aparecerán como cero, como se muestra en la siguiente imagen:
Podemos observar cómo añade un valor más.
Es decir, café se vendió 3 unidades, leche se vendieron 2 unidades, y, azúcar se vendió 1 unidad, pero la matriz devuelta debe tener el mismo número de filas que la matriz origen, es decir, la matriz origen tiene 4 filas, que son los productos dados de alta, y, la matriz devuelta siempre va a tener el mismo número de elementos que esa matriz origen más 1, en este caso, devuelve 5 filas, las cuales dos ellas, contienen ceros, porque no ha habido venta de galletas, más una fila.
Pero, no quiero que esos ceros se vean, para ello, usamos la primera sintaxis, donde va incluido el condicional SI, de la siguiente manera:
=SI (FRECUENCIA (E6:E11;A6:A9)=0;"";FRECUENCIA(E6:E11;A6:A9))
Es decir, que, si el valor devuelto por frecuencia es cero, me ponga un texto en blanco, en caso, contrario, que ejecute la función FRECUENCIA.
El resultado es:
Donde ya no aparecen esos ceros.
Lo siguiente que quiero saber, es cual es el producto más vendido.
Ya hemos visto, que la columna “+vendidos” nos devuelve las veces que se repite un elemento, ordenado de mayor a menor, bien, quiere decir que, en este caso, el elemento más vendido es café, con 3 unidades.
¿Qué función puedo usar, que me devuelva el primer número mayor de un rango de valores?
Pues, la función K.ESIMO.MAYOR, hace exactamente eso, nos devuelve el primer, segundo, tercer, etc., numero mayor de un rango.
La sintaxis de esta función es:
Es decir, rango donde de buscar (matriz), y, numero de valor mayor a devolver, en nuestro caso, solo queremos el primer número mayor.
Entonces, si uso la siguiente sintaxis:
=K.ESIMO.MAYOR(G6:G11;1)
Me devuelve el número mayor de la columna “+ vendidos”, en este caso, el número 3.
Lo siguiente es decirle que si el resultado de FRECUENCIA es igual al valor devuelto por K.ESIMO.MAYOR, debe de buscar ese valor en la columna “+ vendidos”, y, devolverme el resultado pero de la columna F.
La sintaxis seria:
=SI(FRECUENCIA (F6:F11;A6:A9)=K.ESIMO.MAYOR(C6:C9;1);BUSCARX(K.ESIMO.MAYOR(C6:C9;1);C6:C9;B6:B9);"")
Un poco larga, pero funciona.
El resultado es:
Café es el producto que más se ha vendido.
Lo mismo podíamos hacer para el producto menos vendido, pero en vez de usar K.ESIMO.MAYOR, debemos de usar K.ESIMO.MENOR.
La fórmula seria la misma, lo único que habrá que cambiar es K.ESIMO.MAYOR por K.EISMO.MENOR.
=SI(FRECUENCIA($F$6:$F$11;$A$6:$A$9)=K.ESIMO.MENOR($C$6:$C$9;1);BUSCARX(K.ESIMO.MENOR($C$6:$C$9;1);$C$6:$C$9;$B$6:$B$9);"")
También, podíamos hacer lo siguiente.
Si nos damos cuenta, tenemos el producto más vendido que aparece en la primera fila, porque en este caso es el primero, pero tenemos el producto azúcar, que es el menos vendido que no aparece el primero, pues su posición en el listado no es la primera.
Azúcar en el listado está en la posición 3.
Entonces, vamos a crear un listado donde aparezca tanto el producto más vendido como el producto menos vendido, es decir, todos los productos hacia abajo, porque de la manera en la que está ahora, no es muy vistoso.
Entonces, lo primero es saber en qué fila se encuentra café.
Como podemos ver en la imagen, se encuentra en la fila 5.
Lo haremos con la función SI y FILA, vamos a preguntar que, si el valor de la columna J, que es donde se encuentra café, es diferente a blanco, pues que me devuelva la fila, la sintaxis seria:
=SI(J5<>"";FILA ();"")
Arrastramos la formula hacia abajo.
Nos dice que la única fila que es diferente a blanco en toda la columna J, está en la fila 5.
Quiere decir que en I13, pongo K.ESIMO.MAYOR, y, nos da cual es el número mayor de la columna J, en este caso, el único número que hay, que es 5.
Este valor lo vamos a usar en la función INDICE, como el argumento número de fila, quedando la sintaxis de la siguiente manera:
=INDICE(J:J;K.ESIMO.MAYOR(K:K;1))
Es decir, que en la columna J, se vaya a la fila 5.
Nos devuelve café.
Para saber el menos vendido, la fórmula es la misma, pero en este caso, debeos de aplicarlo a la columna M.
=INDICE(M:M;K.ESIMO.MAYOR(N:N;1))
El resultado:
Veamos otro ejemplo, partiendo de los datos del mismo ejemplo, en este caso, queremos saber qué cantidad de productos no han tenido ventas.
Lo vamos a hacer por pasos, y, después unimos todas las fórmulas.
Primero, usamos la función FRECUENCIA, como lo hemos hecho anteriormente.
=FRECUENCIA (F6:F11;A6:A9)
El resultado:
Ya sabemos que la función FRECUENCIA añade una fila más con el valor cero, por lo que ese valor no debemos de tener en cuenta.
Quiere decir que el valor que es cero es el valor que no ha tenido ventas, pero, como lo hacemos.
Bien, si pongo la siguiente sintaxis:
SI(FRECUENCIA(F6:F11;A6:A9)>=1;””;1)
Usamos la función SI junto con FRECUENCIA.
Quiere decir que si el valor de FRECUENCIA es mayor o igual a 1, debe de poner un texto en blanco, en caso contrario, debe de poner 1.
El resultado:
A esos dos uno hay que restarle 1, que es la fila que añade de más la función FRECUENCIA.
Si modificamos la formula, y delante ponemos la función SUMA, quedando de la siguiente manera:
=SUMA(SI(FRECUENCIA(F6:F11;A6:A9)>=1;"";1))
Me devuelve 2.
Pero Hay que restar uno.
=SUMA(SI(FRECUENCIA(F6:F11;A6:A9)>=1;"";1))-1
Tenemos:
Ya sabemos que hay un producto que no se ha vendido.
Pero, vamos a más, queremos saber cuál es el nombre de ese producto.
Para ello, vamos a crear una matriz derramada con la siguiente sintaxis:
=SI.ERROR(SI(FRECUENCIA(F6:F11;A6:A9)>=1;"";FILA(A6:A9));"")
Primero, usamos la función FRECUENCIA, como lo hemos hecho antes.
=FRECUENCIA(F6:F11;A6:A9)
Con la función SI, vamos a preguntar que, si el valor derramado es mayor o igual que 1, que ponga un texto en blanco, y, en caso contrario, que nos de la fila del rango A6:A9, cuyo resultado no coincida con la pregunta.
El resultado:
El resultado 9, cosa que es correcta, porque el producto que no se ha vendido está en la fila 9.
Ahora, con la función INDICE, Y, K.ESIMO MAYOR, usado como argumento de fila a en la función INDICE, vamos a obtener el nombre del producto.
La sintaxis:
=INDICE(B:B;K.ESIMO.MAYOR(I:I;1))
El resultado, el producto sin ventas.
Comments