Reportes con numeros faltantes
- Jaime Franco Jimenez

- 31 ago 2023
- 2 Min. de lectura
Tenemos los siguientes números.

Vemos que entre algunos números y números hay números faltantes, por ejemplo, el primer numero es 194, y, el siguiente es 197, quiere decir que faltan los números 195, y, 196, así con algunos números más, pues, debemos de crear un reporte desde el primer número al último número incluyendo los números faltantes.
En la celda C2, usamos la función FILAS, como argumento matriz, seleccionamos los números.
=FILAS(A2:A12)
Nos devuelve 11, que son los números que hay.
Usamos la función SECUENCIA, donde solo usamos le argumento filas, que es la función FILAS.
=SECUENCIA(FILAS(A2:A12))
Obtenemos una matriz desbordada desde el numero 1 al número 11.

Usamos la función INDICE, como argumento matriz, seleccionamos el rango A2:A12, como argumento numero de fila, es la función SECUENCIA, omitimos el argumento número de columna.
=INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))
Obtenemos los mismos números que teníamos.

Debemos de restar con el numero siguiente, por lo que, en una celda aparte, vamos a poner la función a restar.
Ponemos la función INDICE, como argumento matriz, seleccionamos el rango A2:A12, como argumento numero de fila, ponemos la función SECUENCIA, como argumento filas de SECUENCIA, volvemos a usar la función FILAS, y, restamos 1, como argumento inicio de SECUENCIA, ponemos 2.
=INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2))
Obtenemos el numero siguiente de cada cantidad.

Copiamos esta expresión, excepto, el signo igual, nos vamos a la primera expresión, y, restamos con la función INDICE que ya teníamos.
=INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2))
Obtenemos la diferencia entre una cantidad y la siguiente, menos en la última, que no hay cantidad a restar, por lo que obtenemos un error.

Nos quedamos con el valor absoluto, por lo que usamos la función ABS.
=ABS(INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2)))
Quitamos el error con la función SI.ERROR, y, ponemos un texto en blanco.
=SI.ERROR(ABS(INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2)));"")

Sumamos los resultados con la función SUMA.
=SUMA(SI.ERROR(ABS(INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2)));""))
Nos devuelve 20, pero, debemos de sumar 1.
=SUMA(SI.ERROR(ABS(INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2)));""))+1
Usamos la función SECUENCIA, como argumento filas, es la expresión anterior, omitimos el argumento columnas, como argumento inicio, ponemos 194, o, seleccionamos la primera celda, como argumento paso, ponemos 1, u, lo omitimos.
=SECUENCIA(SUMA(SI.ERROR(ABS(INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)))-INDICE(A2:A12;SECUENCIA(FILAS(A2:A12)-1;;2)));""))+1;;194;1)
Aceptamos, y, ya lo tenemos.

Miguel Angel Franco




Comentarios