
Tengo 2 hojas en excel.
Un campo tiene campos de fecha.
por ejemplo A-1 Fecha1
Segunda hoja, tengo rangos de fechas con identificadores.
A-1 Fecha de inicio A2- Fecha de finalización A3-ID del rango de fechas
Necesito crear un nuevo campo en la primera hoja que contendrá el ID de rango de Date1.
Por ejemplo, en la segunda hoja tengo el rango A1-1 de mayo de 2017 A2-30 de mayo de 2017 A3-7
En la primera hoja A1-3 de mayo de 2017. Entonces quiero tener una nueva columna en mi primera hoja que tendrá el valor 7.
¿Cómo puedo hacerlo en excel?
Respuesta1
Como ya lo indicó @Ron Rosenfeld, si el rango en la Hoja2 incluye todas las fechas en la Hoja1 y no hay superposición, una BUSCARV simple debería funcionar. Sin embargo, si su Rango de fechas en la Hoja 2 no está necesariamente en orden ascendente y con espacios intermedios y posiblemente superpuestos. Pruebe esta solución. La limitación es que devolverá el primer ID de rango para el rango de fechas donde se encuentra que los datos de la Hoja1 están dentro del rango.
En este ejemplo, la Hoja1 tiene fechas en la columna A1:A10. La Hoja2 tiene Fecha de inicio en A1:A7 Fecha de finalización en B1:B7 y ID de rango en C1:C7.
En la Hoja1, Celda B1, coloque la siguiente fórmula de matriz.
=IF(ISERROR(INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0))),"Not Found",INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0)))
Después de esto, presione CTRL+SHIFT+ENTER para convertirla en una fórmula matricial. Ahora verá la fórmula entre llaves en la barra de direcciones. Ahora arrástrelo hacia abajo hasta las filas deseadas. Ahora la Columna B obtendrá los ID de rango respectivos de la Hoja 2 donde la fecha en la Columna A se encuentra en el rango.
La fórmula se basa en verificar los IF anidados para devolver una matriz de VERDADERO, FALSO según el rango coincidente y usar un INDEX-MATCH externo para recuperar la primera posición del 1 coincidente y devolver el valor en esa posición de la columna ID de rango.