
Buscarv o Indice+Coincidir. Valor Exacto o Proximo (Fecha+Hora)
Publicado por Jorge (8 intervenciones) el 28/07/2021 12:53:49
Buenos días,
Tengo un excel con 3 columnas, ( Fecha | Hora | Valor ) , de las que tengo que extraer, en unas nuevas columnas, la fecha, hora y el valor cada 15 minutos.
Es decir, tengo esto en la tabla origen:
Fecha | Hora | Valor
28/07/2021 | 12:00 | 125
28/07/2021 | 12:12 | 130
28/07/2021 | 12:15 | 142
28/07/2021 | 12:25 | 180
28/07/2021 | 12:39 | 163
Y me tendría que quedar tal que así en la tabla destino:
Fecha | Hora | Valor
28/07/2021 | 12:00 | 125
28/07/2021 | 12:15 | 142
28/07/2021 | 12:30 | 180
Si os fijáis, el valor 130 se omite, puesto que ya tengo el valor de las 12:00 y el valor de las 12:15.
En los casos en los que no haya un valor a esa hora exacta, debería coger el superior o inferior (el más cercano). En el ejemplo, para las 12:30, al no tener un valor exacto, cogeríamos el de las 12:25 que es el mar cercano.
En la tabla origen, tengo los campos
- Fecha
- Hora
- Cadena (fecha+hora)
Lo primero que hago es rellenar el campo "Cadena" en el que uno la fecha y hora en una cadena de texto con el formato deseado:
En la tabla destino, tengo los campos
- Fecha (se repite 96 veces [24horas/15minutos])
- Hora (cada 15min)
- Cadena (fecha+hora cada 15)
Ahora, comparo la cadena.destino con cadena.origen, para buscar el valor y rellenar el campo Valor de la tabla destino.
Para hacer esta comparación he intentado utilizar estas dos formulas:
**Esto es para los cuadros de la derecha, para realizar comprobaciones introduciendo el parametro a buscar en una casilla específica.
BuscarV
Valor Exacto:
Valor Cercano:
Indice + Coincidir
Valor Exacto:
Valor Cercano:
Para la tabla destino, utilizo la misma formula pero cogiendo los valores de la tabla en vez de una casilla especifica:
Valor Exacto:
Valor Cercano:
He probado también cogiendo el valor directamente de la columna Cadena, en la que ya tengo unida la fecha y la hora, Pero el resultado es el mismo:
Para algunas lineas funciona correctamente.. Me encuentra el valor y me lo escribe en su celda.
Pero en algunos casos, no se por que motivo exactamente, no me encuentra el valor y me muestra #N/D o cuando intento sacar un valor cercano, me muestra uno que no tiene nada que ver.
Hay que tener en cuenta que a veces el valor mas cercano, es unos minutos atrás, unas horas o incluso el día anterior.
Necesito solucionar esto, puesto que el archivo contiene 407567 líneas y es demasiado extenso como para solucionar una por una las casillas que no encuentran el valor correspondiente...
Os adjunto un excel, con valores ejemplo y las dos formulas utilizadas.
Creo que lo he dejado mas o menos claro, si algo no se ha entendido bien, preguntadme.
Muchas gracias de antemano
Saludos.
Tengo un excel con 3 columnas, ( Fecha | Hora | Valor ) , de las que tengo que extraer, en unas nuevas columnas, la fecha, hora y el valor cada 15 minutos.
Es decir, tengo esto en la tabla origen:
Fecha | Hora | Valor
28/07/2021 | 12:00 | 125
28/07/2021 | 12:12 | 130
28/07/2021 | 12:15 | 142
28/07/2021 | 12:25 | 180
28/07/2021 | 12:39 | 163
Y me tendría que quedar tal que así en la tabla destino:
Fecha | Hora | Valor
28/07/2021 | 12:00 | 125
28/07/2021 | 12:15 | 142
28/07/2021 | 12:30 | 180
Si os fijáis, el valor 130 se omite, puesto que ya tengo el valor de las 12:00 y el valor de las 12:15.
En los casos en los que no haya un valor a esa hora exacta, debería coger el superior o inferior (el más cercano). En el ejemplo, para las 12:30, al no tener un valor exacto, cogeríamos el de las 12:25 que es el mar cercano.
En la tabla origen, tengo los campos
- Fecha
- Hora
- Cadena (fecha+hora)
Lo primero que hago es rellenar el campo "Cadena" en el que uno la fecha y hora en una cadena de texto con el formato deseado:
1
=TEXTO(A2;"DD/MM/AAAA")&" "&TEXTO(B2;"HH:MM")
En la tabla destino, tengo los campos
- Fecha (se repite 96 veces [24horas/15minutos])
- Hora (cada 15min)
- Cadena (fecha+hora cada 15)
1
=TEXTO(F2;"DD/MM/AAAA")&" "&TEXTO(G2;"HH:MM")
Ahora, comparo la cadena.destino con cadena.origen, para buscar el valor y rellenar el campo Valor de la tabla destino.
Para hacer esta comparación he intentado utilizar estas dos formulas:
**Esto es para los cuadros de la derecha, para realizar comprobaciones introduciendo el parametro a buscar en una casilla específica.
BuscarV
Valor Exacto:
1
=BUSCARV(N3;C2:D407567;2;VERDADERO)
Valor Cercano:
1
=BUSCARV(N3;C2:D407567;2;FALSO)
Indice + Coincidir
Valor Exacto:
1
=INDICE(C2:D407567;COINCIDIR(N9;C2:C407567;0);2)
Valor Cercano:
1
=INDICE(C2:D407567;COINCIDIR(N9;C2:C407567;1);2)
Para la tabla destino, utilizo la misma formula pero cogiendo los valores de la tabla en vez de una casilla especifica:
Valor Exacto:
1
=BUSCARV(TEXTO(F3;"DD/MM/AAAA")&" "&TEXTO(G3;"HH:MM");$C$2:$D$407567;2;FALSO)
Valor Cercano:
1
=BUSCARV(TEXTO(F2;"DD/MM/AAAA")&" "&TEXTO(G2;"HH:MM");$C$2:$D$407567;2;VERDADERO)
He probado también cogiendo el valor directamente de la columna Cadena, en la que ya tengo unida la fecha y la hora, Pero el resultado es el mismo:
1
=BUSCARV(H8;C2:D407567;2;FALSO)
Para algunas lineas funciona correctamente.. Me encuentra el valor y me lo escribe en su celda.
Pero en algunos casos, no se por que motivo exactamente, no me encuentra el valor y me muestra #N/D o cuando intento sacar un valor cercano, me muestra uno que no tiene nada que ver.
Hay que tener en cuenta que a veces el valor mas cercano, es unos minutos atrás, unas horas o incluso el día anterior.
Necesito solucionar esto, puesto que el archivo contiene 407567 líneas y es demasiado extenso como para solucionar una por una las casillas que no encuentran el valor correspondiente...
Os adjunto un excel, con valores ejemplo y las dos formulas utilizadas.
Creo que lo he dejado mas o menos claro, si algo no se ha entendido bien, preguntadme.
Muchas gracias de antemano
Saludos.
- Test.rar(15,6 MB)
Valora esta pregunta


0