Calcular el mínimo excluyendo el cero en Excel

TRANSCRIPCIÓN DEL VÍDEO

Es muy fácil obtener el valor mínimo de un conjunto de números con la función MIN, pero cuando necesitamos excluir el cero de dicho cálculo, entonces la solución no es tan obvia.

En esta ocasión te mostraré tres métodos para obtener el valor mínimo cumpliendo la condición de que el número sea mayor a cero.

Comenzaré con el planteamiento del problema.

Supondremos una tabla de números con dos columnas. Para cada columna necesito obtener el valor mínimo mayor a cero, pero observa lo que sucede al utilizar la función MIN.

Ingresaré la función MIN y el rango B2:B10 y como resultado obtendré el valor menos 1.

En realidad, necesito que la fórmula devuelva el número 3 que es el valor mínimo mayor a cero para columna Enero.

Lo mismo sucede para la columna Febrero donde la función MIN devuelve el valor cero cuando necesito obtener el número 2.

El primer método que te mostraré para solucionar este problema es utilizar la función BDMIN.

Para utilizar este método es indispensable que los datos tengan un encabezado de columna.

Nuestro ejemplo tiene los encabezados Enero y Febrero. Además, debemos colocar en otra celda la condición que deben cumplir los valores que serán evaluados por la función.

En este ejemplo, he colocado el criterio mayor a cero en la cela B16 y también en la celda C16.

Además, sobre cada una de estas celdas e ingresado el mismo encabezado que en los datos y esto es obligatorio o de lo contrario la función BDMIN no podrá aplicar esos criterios adecuadamente.

Ahora ingresaré la fórmula en la celda B13. Comienzo con la función BDMIN y su primer argumento será el rango B1:B10 que es la columna Enero incluyendo el encabezado.

El segundo argumento es el nombre del campo que vamos a evaluar y que para este ejemplo es Enero y como tercer argumento colocaremos el rango donde se encuentra el criterio y que es el rango B15:B16.

Como resultado obtenemos el valor 3 que es precisamente el valor que estamos buscando.

Para obtener el valor de la columna Febrero copiaré la fórmula en la celda C13 y simplemente cambiaré el valor del segundo argumento a Febrero.

Al pulsar la tecla Entrar, obtendré el valor mínimo mayor a cero para la columna Febrero.

Hay ocasiones en las que no es posible tener un encabezado de columna en los datos o por alguna razón no podemos dedicar alguna celda para ingresar el criterio de la función BDMIN.

En ese caso es necesario considerar alguno de los otros métodos que mostraré a continuación.

El segundo método utiliza la función K.ESIMO.MENOR que nos devuelve el enésimo valor más pequeño de un rango de celdas.

Para entender mejor esta función, hare una breve explicación.

Supongamos que tenemos los valores 7, 2 y 5 en un rango de celdas. Lo primero que hará la función K.ESIMO.MENOR es ordenarlos en memoria, es decir, no verás en pantalla este ordenamiento sino que la función los ordenará de menor a mayor y les colocará una etiqueta simbólica de su posición.

De esta manera, el número 2 tendrá la primera posición. El número 5 la segunda posición y el número 7 la tercera posición.

Nosotros le pediremos a la función K.ESIMO.MENOR que nos devuelva alguno de los valores en base a su posición de ordenamiento.

Si le pedimos la posición uno, nos devolverá el número 2 y si le pedimos la tercera posición nos devolverá el número 7.

Observa lo que sucede cuando ingreso la siguiente fórmula en los datos de ejemplo.

Ingresaré la función K.ESIMO.MENOR y como primer argumento ingresaré el rango B2:B10 que son los valores de la columna Enero y ahora le pido que me devuelva la primera posición.

Como resultado obtenemos el valor -1 porque dicho valor es el más pequeño de todos los números.

Este resultado concuerda con la función MIN, pero eso no es lo que queremos, sino que necesitamos pedirle a la función K.ESIMO.MENOR aquél número que tiene la posición después del cero.

Para esto, utilizaremos la función CONTAR.SI que me permite contar valores que cumplen alguna condición.

Observa lo que sucede cuando ingreso la función CONTAR.SI y como su primer argumento coloco el rango B2:B10 y posteriormente coloco la condición menor o igual a cero.

La función contará los valores que cumplan con dicha condición y que en este caso son dos valores, es decir, el valor menos 1 de la celda B9 y el valor cero de la celda B7.

Eso quiere decir que en la lista de valores que ya ha sido ordenada de menor a mayor, la posición 3 tendrá el valor mínimo mayor a cero.

Lo que debemos hacer es utilizar el resultado de la función CONTAR.SI como el segundo argumento de la función K.ESIMO.MENOR así que cambiaré la fórmula de la celda B13 de la siguiente manera.

Borraré el número 1 y colocaré CONTAR.SI, como primer argumento el rango B2:B10 y como segundo argumento abriré comillas dobles y colocaré la condición menor o igual que cero y cierro las comillas dobles.

Posteriormente sumo el valor uno para que la función K.ESIMO.MENOR me devuelva la posición correcta.

Al pulsar la tecla Entrar obtengo el valor 3 que es precisamente el valor mínimo mayor a cero.

Para obtener el valor mínimo de la columna Febrero, solo debo copiar la fórmula a la derecha y obtendremos el valor 2.

La clave de esta fórmula es entender que la función K.ESIMO.MENOR ordena de manera ascendente los números en memoria.

La función CONTAR.SI obtiene la cantidad de valores que son menores o iguales a cero y eso nos ayuda a indicar la posición correcta que debe devolvernos la función K.ESIMO.MENOR.

El último método que mostraré, utiliza una fórmula matricial.

Este es un concepto avanzado de fórmulas de Excel, pero verás que en realidad es muy sencillo aplicarla en los datos de ejemplo.

Comenzaré por escribir la función SI y en su primer argumento colocaré la siguiente condición. El rango B2:B10 mayor que cero. Esto le indica a la función SI que deberá devolver un valor especial para aquellos valores que sean mayores a cero y eso lo indicaré en el segundo argumento donde volveré a colocar el rango B2:B10.

Esto quiere decir que, para cualquier valor que sea mayor que cero, la función SI devolverá el mismo valor, pero si el valor es menor o igual a cero, la condición no se cumplirá y por lo tanto la función SI devolverá un valor falso para indicar que no se ha cumplido la condición.

El valor falso no se debe especificar en la fórmula ya que ese es un comportamiento natural de la función SI.

Ya que este es una fórmula matricial, no podemos ver en pantalla el resultado devuelto por la función SI, pero si lo imaginamos, sería de la siguiente manera.

Para todos los valores positivos del rango B2:B10 obtendremos el mismo valor, pero para el valor cero y para el valor menos uno, obtendremos el valor FALSO.

Lo que necesitamos es pedirle a Excel que ejecute la función MIN sobre esta nueva matriz de valores la cual contiene solo números positivos y mayores a cero así que para terminar nuestra fórmula ingresaré la función MIN y los paréntesis correspondientes y en seguida algo que es muy importante, pulsaré la combinación de teclas Control + Shift + Entrar para que Excel sepa que esto es una fórmula matricial.

Como resultado obtendremos el número 3 que es precisamente el valor mínimo mayor a cero de la columna Enero.

Será suficiente copiar la formula matricial a la derecha para obtener el valor mínimo de la columna Febrero excluyendo el cero.

Recuerda que debajo de este vídeo encontrarás el link para descargar el libro de trabajo que he utilizado.

Haz la prueba con cada uno de los métodos mostrados y utiliza el que mejor se adapte a tus preferencias.