Fórmula de Excel para comprobar si una lista está ordenada
Me encanta usar el truco de BUSCARV doble para obtener tiempos de cálculo increíblemente rápidos en Excel. El inconveniente es que la lista que se busca debe ordenarse para evitar errores. Si una lista no estuviera ordenada, sería fantástico ver una advertencia. Luego, el usuario puede tomar medidas para ordenar la lista antes de continuar.
Esta publicación considerará tres métodos de fórmula para saber si una lista está ordenada.
- Columna de ayuda
- fórmula matricial
- Fórmula matricial para tablas
Si la lista está ordenada, las fórmulas muestran Verdadero
Si la lista no está ordenada, las fórmulas muestran Falso
Enfoque de columna auxiliar para comprobar si una lista está ordenada
De las tres opciones, el enfoque de la columna auxiliar es probablemente el peor, pero el más fácil de entender. Este método utiliza una columna auxiliar para averiguar si cada valor es menor que el valor de la celda debajo de él. Si todos los resultados son verdaderos, entonces la lista está ordenada.
La fórmula en la celda B2 es:
=(A2=A3)*1
Cuando A2 es menor que A3, el resultado será Verdadero; de lo contrario, será Falso. Luego, esto se multiplica por 1 para devolver un valor de 1 o cero. La fórmula se copia en la penúltima celda de la lista.
La fórmula en la celda E2 es:
=PRODUCTO(B2:B8)=1
La función PRODUCTO multiplica los resultados de la columna auxiliar. Si todos los resultados en la columna Auxiliar son 1, entonces el resultado de la función PRODUCTO es 1. Sin embargo, si alguno de los resultados en la columna Auxiliar es 0, el resultado de la función PRODUCTO también será 0.
Fórmula matricial para comprobar si una lista está ordenada
Normalmente, las fórmulas matriciales son un poco complicadas, pero en estas circunstancias, son bastante fáciles de seguir.
La fórmula en la celda E3 es:
{=Y(A2:A8=A3:A9)}
Como se trata de una fórmula matricial, no escriba las llaves ({ } ) al principio o al final de la fórmula. Pero presione Ctrl + Shift + Enter al ingresar la fórmula.
La fórmula funciona bajando cada rango y comparando las celdas como pares. Es A2 = A3, luego A3 = A4, luego A4 = A5 y así sucesivamente, hasta el final del rango de celdas. Envolver esto dentro de la función AND dará como resultado Verdadero solo si todas las combinaciones de celdas son Verdaderas. Si alguno es Falso, el resultado final será Falso.
Fórmula matricial para tablas para verificar si una lista está ordenada
Combinar la fórmula matricial con una tabla de Excel comienza a resultar un poco complicado. La columna Lista (Columna A en nuestro ejemplo) es parte de una tabla llamada Tabla1. En la captura de pantalla, al principio, puede que no parezca una tabla de Excel, ya que eliminé el formato.
La fórmula en la celda E4 es:
{=Y(ÍNDICE(Tabla1[Lista],1):ÍNDICE(Tabla1[Lista],FILAS(Tabla1[Lista])-1)=ÍNDICE(Tabla1[Lista],2):ÍNDICE(Tabla1[Lista],FILAS (Tabla1[Lista])))}
La fórmula que se muestra aquí está en dos líneas porque la página web no es lo suficientemente amplia, pero se puede mostrar en una sola línea en la barra de fórmulas de Excel. Nuevamente, esta es una fórmula matricial, así que no escriba llaves, pero presione Ctrl + Shift + Enter para ingresar la fórmula.
Esa fórmula parece bastante compleja, ¿verdad? Pero en realidad es la misma que la fórmula matricial normal que se muestra arriba, pero adaptada para trabajar con tablas de Excel. Analicemos la fórmula
ÍNDICE(Tabla1[Lista],1)
La primera función de índice devuelve la dirección de celda de la primera celda en la columna Lista de la Tabla 1.
ÍNDICE(Tabla1[Lista],FILAS(Tabla1[Lista])-1)
La segunda función de índice usa la función FILAS para contar el número de filas en la columna Lista de la Tabla1, luego reduce el valor en 1. En nuestro ejemplo, hay 8 filas en la columna Lista, por lo que la función FILAS devolverá 7 ( 8 filas menos 1). La función de índice devuelve la dirección de celda para la séptima celda en la columna Lista de la Tabla 1. Hasta ahora, nuestra fórmula será solo A2:A8 (A2 es la primera fila en la columna Lista, A8 es la séptima fila en la columna Lista ).
ÍNDICE(Tabla1[Lista],2):ÍNDICE(Tabla1[Lista],FILAS(Tabla1[Lista]))
Las siguientes dos funciones ÍNDICE siguen un método similar. El primer ÍNDICE devuelve el segundo elemento de la lista y el segundo ÍNDICE devuelve el último elemento de la lista, por lo que los rangos de celdas son A3:A9.
El resto de la fórmula es la misma que la fórmula matricial básica anterior. Aunque parezca más complejo consigue exactamente el mismo resultado. La tabla de Excel se expandirá o retraerá según la cantidad de datos. Esta fórmula también se expandirá o retraerá de la misma manera.
Conclusión
Utilizando cualquiera de los métodos anteriores, es posible crear una verificación para garantizar que la lista esté ordenada. Esto es especialmente útil cuando se utiliza una lista ordenada para una función BUSCARV o COINCIDIR
Deja una respuesta