¿Fórmula para ver si una serie de números aumenta de valor?

¿Fórmula para ver si una serie de números aumenta de valor?

Tengo una hoja de cálculo con miles de conjuntos de números. Es decir, hay diez columnas y cada columna tiene un número, y hay miles de filas de estos números.

Lo que quiero hacer es comprobar si los números de cada fila aumentan o no. Por ejemplo, imagina que esta es la fila uno (donde cada número es una columna separada):

13. 17. 25. 37. 39. 40. 53. 61. 68. 71

Como puede ver, todos los números están aumentando. Ahora imaginemos que esta es la fila dos:

13   5.  3. 18. 34. 17. 49. 83. 63. 71 

En este caso, los números inicial y final son los mismos que los del primer conjunto de números, pero el camino seguido es bastante diferente.

Lo que me gustaría es una fórmula para evaluar qué tan continuo es el crecimiento.

¿Algunas ideas?

Respuesta1

=IFERROR(IFS(B6<A6,FALSE,C6<B6,FALSE,D6<C6,FALSE,E6<D6,FALSE,F6<E6,FALSE,G6<F6,FALSE,H6<G6,FALSE,I6<H6,FALSE,J6<I6,FALSE),TRUE)

Creo que esa sería la forma más fácil de hacerlo.

IFS compara cada número con el número anterior; si es menor que el anterior, devolverá FALSO.

Si todos los números son mayores que el número anterior, entonces IFS no producirá una salida, lo que provocará un error NA.

ISERROR convertirá el error NA en VERDADERO, lo que significa que todos los números están aumentando.

Para obtener el recuento de cuántos números son mayores que el número anterior en la secuencia:

=COUNTIF(B11,">" & A11)+COUNTIF(C11,">" & B11)+COUNTIF(D11,">" & C11)+COUNTIF(E11,">" & D11)+COUNTIF(F11,">" & E11)+COUNTIF(G11,">" & F11)+COUNTIF(H11,">" & G11)+COUNTIF(I11,">" & H11)+COUNTIF(J11,">" & I11)

Cada recuento compara el número actual con el número anterior y solo contará si el número es mayor, luego suma todos los recuentos.

Respuesta2

Puede utilizar fórmulas matriciales para lograr esto:

fórmula matricial

Suponiendo que sus datos están en A1:J1, ingrese la siguiente fórmula en una celda =AND(B1:J1>A1:I1)y presione Ctrl+ Shift+ Enterpara crear una fórmula matricial; observe que Excel ajustará la fórmula {}automáticamente (¡no puede ajustarla manualmente!). En Google Sheets, puede usar ArrayFormuladentro de la ANDfunción en lugar del acceso directo de Excel: AND(ArrayFormula(B1:J1>A1:I1)).

Esto realizará cálculos por elementos >y luego verificará que todos sean verdaderos. Observe que los dos rangos están desplazados por una celda, pero tienen la misma longitud, por lo que B1y A1se compararán, se compararán, C1y B1así sucesivamente. Luego, se pasará la matriz resultante para ANDverificar que todas sean verdaderas.

Una vez que se inserta la fórmula matricial para la primera fila, si tiene varias filas, simplemente puede arrastrar la fórmula hacia abajo para cada fila.


Alternativamente, si por alguna razón no desea utilizar matrices, puede hacerlo sin agregar otro rango de celdas debajo o al lado (o en cualquier lugar para ser honesto) de la lista de números. En este rango adicional de celdas, puede hacer la comparación de cada celda.

Fórmulas de comparación

Con los datos comenzando en A1, luego, en digamos la celda B2, agregue la fórmula (B1 > A1), luego arrastre la fórmula para que coincida con el ancho de los datos (las fórmulas actualizarán las referencias automáticamente). Finalmente, solo necesita verificar si todas esas celdas son verdaderas, lo cual se puede hacer con AND(B2:J2).

Respuesta3

Dado que etiquetó hojas de cálculo de Google, también puede usar un ArrayFormulapara simplificar esto en una fórmula:

=AND(ARRAYFORMULA(B1:J1>A1:I1))

Puede ajustar J1y I1en consecuencia si cambia el número de filas.

Si todas las columnas de la derecha están en blanco, puede hacerlo, =AND(ARRAYFORMULA((B1:Z1>A1:Y1)+(ISBLANK(B1:Z1))))lo que funcionará automáticamente en hasta 26 columnas siempre que las siguientes columnas estén en blanco.

Respuesta4

Estas respuestas funcionarán si tienesfórmulas de matriz dinámicadisponible en su versión de Excel.


Respuesta nueva y más sencilla:

Puede utilizar una fórmula de matriz dinámica para comprobar si cada elemento es estrictamente menor que un elemento de otra matriz.

=AND((A1:I1) < (B1:J1))

Esto es agradable y simple y básicamente dice, es A1 < B1y B1 < C1así sucesivamente hasta el final de la matriz.

El truco es que compensamos las dos listas para comparar cada elemento con el siguiente valor en la matriz original.

Entonces estamos comparando A1:I1con B1:J1: la primera matriz es desde el primer elemento hasta el penúltimo, y la segunda matriz es desde el segundo elemento hasta el último.


Respuesta original:

Si se permite que la lista esté en >=orden (a diferencia de estrictamente >), es decir, si 1, 2, 3, 3, 4también es válida.

Puede ordenar los valores y compararlos con los valores originales.

Si los valores originales están en orden ascendente, la lista ordenada será igual a la lista original.

Ejemplo de clasificación de matrices

Esto ordenará por columnas, comparará cada valor y luego AND()la lista generará un único resultado:

=AND(SORT(A1:J1,1,1,TRUE)=A1:J1)

Si está comparando una sola columna de datos, entonces es un poco más simple:

=AND(SORT(A1:A10)=A1:A10)

información relacionada