Pregunta Insertar la secuencia faltante en datos por hora


Tengo una lista de datos compilados tomando una marca de tiempo cada 0.01 pulgadas de lluvia acumulada. Debido a esto, los datos no tienen los tiempos intermedios entre las grabaciones, cuando no se registró precipitación. Descubrí cómo redondear los datos a la hora más cercana, sin embargo ahora me gustaría completar las horas que deberían decir 0.00 con ellos.

Es decir. Mi información se ve así:

10/11/2012 22:00 0.01

16/10/2012 2:00 0.01

16/10/2012 3:00 0.02

Pero me gustaría agregar las horas intermedias que deberían tener 0.00 asociadas a ellas. Como debería ser un año completo, debería haber 8760 entradas en total.

No tengo kutools y estaba tratando de usar el código VBA adjunto que encontré en línea (https://www.extendoffice.com/documents/excel/1283-excel-insert-missing-numbers-in-sequence.html), sin embargo, no tiene en cuenta el patrón horario de los datos y en su lugar crea días individuales y establece el tiempo en 0:00.

¡Si alguien sabe cómo solucionar esto o tiene otra solución, realmente lo agradecería! Gracias de antemano![enter image description here]1


1


origen




Respuestas:


Es útil saber que Excel registra las fechas como números reales donde los enteros son días y las fracciones la parte del día. En su código, donde está agregando 1 para completar el siguiente valor, intente agregar 1/24 (es decir, una 24 vez al día o 1 hora). Creo que esto sería alrededor de la línea 20, que cambiaría a outArr(i + 1/24, 1) = i + num1 para ver qué pasaría Es probable que se necesiten cambios similares en las líneas 22 y 24.

Sin embargo, suponiendo que sus puntos de datos están en una columna diferente a sus valores de fecha / hora, le sugiero que sería más fácil el método anterior al de la página de instrucciones a la que se vinculó.

Cree una lista de TODAS las horas de su año debajo de los datos existentes usando el mismo formato, siguiendo las instrucciones en su Pregunta anterior, luego ordene la lista completa (datos originales más la nueva lista de horas) y elimine los duplicados.

Deberías quedarte con una lista ordenada de todas las horas de tu año, con puntos de datos para esas horas que las tienen. No ha dicho si desea el valor 0.00 agregado a la celda de datos, pero si lo hace, es trivial hacerlo usando la fórmula ISBLANK () de Excel en una condición IF ().


0



Estoy de acuerdo, pensé que el método "ordenar / eliminar todos los duplicados" sería más fácil también, sin embargo, cuando selecciono ambas columnas y elimino los duplicados, borro las celdas que están asociadas con los datos en lugar de la fecha extra, dejándome con sin datos. Y luego, cuando selecciono solo la columna A (las fechas) y voy a eliminar todos los duplicados, no muevo la columna B (los datos) correctamente para mantener la fecha correcta asociada a los datos correctos, de modo que todos mis puntos de datos son sesgado a la fecha incorrecta. ¿Alguna sugerencia sobre lo que podría estar perdiendo? - Julie Ridgeway
Pude encontrar otra solución usando la fórmula "= CONTAR CON ($ A $ 1: A1, A1) <CONTABILIDAD (A: A, A1)" en una nueva columna y luego filtrar y eliminar los valores que fueron marcados como verdaderos! - Julie Ridgeway
Con el método de ordenación / eliminación, solo selecciona la columna de marcas de tiempo. Cuando ejecuto esto, elimina las marcas de tiempo duplicadas que no lo hagas tener un valor en la columna adyacente. La única sugerencia que puedo hacer sobre por qué esto no funciona es que necesita usar la opción 'Filtrar la lista, en el lugar', en lugar de 'Copiar a otra ubicación'. - mcalex