Identificar huecos en una secuencia en una celda - Excel

0

Tengo una lista de elementos en mi hoja de Excel que están numerados, junto con un número total, de la siguiente manera:

Ejemplo:

   | Column A (available) | Column B (missing) | Column C (total)
___|______________________|____________________|_________________
1  | 01 - 13              |         ?          | 20
2  | 02 - 09              |         ?          | 10
3  | 01 - 04, 06 - 11     |         ?          | 11

Ahora, quiero que la Columna B muestre los números de los elementos que faltan, como este:

   | Column A (available) | Column B (missing) | Column C (total)
___|______________________|____________________|_________________
1  | 01 - 13              | 14 - 20            | 20
2  | 02 - 09              | 01, 10             | 10
3  | 01 - 04, 06 - 11     | 05                 | 11

He logrado crear una fórmula larga para casos como en la línea 1, pero eso solo funciona al verificar los dos últimos dígitos de una celda en la Columna A, restándola del valor de la Columna C en esa línea, luego rellene la Columna B con el resultado.

(Básicamente, algo como esto (con algunos casos especiales que no se ven afectados por el "problema de la brecha"): $C1-Right($A1;2)&" - "&$C1 )

Pero mi enfoque (obviamente) no puede manejar las brechas como en las líneas 2 y 3, y quiero saber si hay una manera de resolver mi problema.

PD No estaba seguro de qué título dar a este problema, así que me disculpo si es engañoso.

MajorTanya
fuente
Una fórmula no puede hacer eso, necesitarás una macro VBA. Buena suerte.
harrymc
Pensaría que una función que incluye un bucle For-Next que comprueba si el número de ciclo del bucle está incluido en alguno de los valores de la columna A sería un comienzo. Por supuesto, establecería el valor superior del bucle en el valor correspondiente en la columna C.
BillDOe
¿Está la Col A siempre exactamente en ese formato (dígitos simples con ceros iniciales, espacio-guión-espacio entre números para especificar un rango, coma-espacio entre rangos)? ¿Se puede ajustar el formato de Col A de modo que sea más propicio para el análisis? ¿Los rangos siempre comienzan en 1? ¿Puede el total (Col C) ser algo, o hay un límite superior que ningún rango excederá? ¿Hay un número potencial máximo de rangos en la Col A? ¿Puede Col A también contener números únicos? ¿Es necesario que la Col B sea una lista de números más rangos delimitados por comas, o funcionaría como una lista de números individuales, incluso si algunos son números secuenciales?
fixer1234
Los patrones de salida no son similares, así que no creo que ninguna Fórmula única funcione para todas las Filas. ¡Mejor edite la Pregunta y haga las correcciones necesarias, de lo contrario puede atraer Votar para cerrar!
Rajesh S

Respuestas:

-1

Su problema se puede resolver utilizando la función TREND:

enter image description here

  1. Tomando la primera muestra de datos en la Columna A, necesita crear 1ª secuencia del 1 al 13 y 2 de 1 a 20 .
  2. Escribe esta fórmula de matriz en la celda C1, terminar con Ctrl+Shift+Enter &erio; llenar hacia abajo.

{=TREND(A1:A13,B1:B13,B14:B20)}

  1. Obtienes series de 14 to 20.
  2. En D1 ingrese esta fórmula para obtener el 1st Cell value. =INDEX(C1:C7,MATCH(TRUE,INDEX((C1:C7<>0),0),0))

  3. Ingrese esta fórmula en D2 Llegar last Cell value.

=LOOKUP(2,1/(C1:C7<>""),C1:C7)

  1. En celda D4 entra en este =D1&"-"&D2, usted obtiene 14-20.

Nota: Para la segunda muestra de datos necesitas crear 2 series.

1- 2 to 9.

2- 1 to 10.

La tercera muestra de datos necesita 3 series.

1- 1 to 4.

2- 6 to 11.

3- 1 to 11.

  1. Repita los pasos anteriores para otras muestras de datos.
  2. Ajuste las referencias de celda en la Fórmula según sea necesario.
Rajesh S
fuente
Esta es una solución fuera de la caja Algunas cosas inteligentes aquí, pero necesitan una solución personalizada para cada fila. También están los pasos no documentados de recrear los datos en un formato utilizable. Cuando haya terminado de averiguar qué configuración se necesita y de crearla, puede que sea menos trabajo hacerlo manualmente. Parece que es una respuesta válida, necesita comenzar con los datos dados en el formulario dado, terminar con el resultado especificado y cumplir con todos los pasos requeridos. Lo que aquí solo se ocupa realmente de una parte del problema, y ​​no es una solución general automatizada. Pero un buen comienzo.
fixer1234
Gracias @ fixer1234 por una observación valiosa. Esto es lo que encontré trabajando con los datos dados. Esperanza OP & amp; a otros les gustará
Rajesh S
Sólo escribe tu preocupación ¿Por qué votó abajo?
Rajesh S