31/10/16
Buenas tardes, Sonia
Me parece que es la típica aplicación de la función BUSCARV(), sobre todo por la existencia de un numero de identificación (ID) para cada trabajador.
Para hacerlo simple, vamos a suponer que tu listado de personal estuviese en la "Hoja1" y en el rango A6:G6000.
Y si el primer ID a actualizar estuviera en la celda A4 de tu otra hoja, escribe ésta fórmula en la celda C4 :
=BUSCARV($A4;Hoja1!$A$6:$G$6000;2;FALSO)
Ten en cuenta si usas comas o punto y coma para separar los argumentos. Yo usé ";" en este ejemplo. Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.
Entonces, la función Buscarv necesita tres argumentos más un cuarto opcional.
El primero es el valor que se busca en la base; la dirección de ésta, a su vez, es el segundo argumento de la fórmula. El uso del signo $ es para que siempre se refiera a ese rango aún copiando la fórmula a otras celdas/hojas.
El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. Cómo intentas mostrar el nombre, asumi que es la columna 2, para que traiga el dato de "Valor nuevo". Si pegas esta fórmula en otra celda y cambias el número de columna, traerá lo que haya en ella, por ejemplo: las horas trabajadas
Finalmente el cuarto argumento opcional, cuando está en 0 (Falso) obliga a una búsqueda exacta de lo que está en la celda A4. Si no encuentra ese código, la fórmula devolverá #N/A! (No disponible)
Para evitar ese #N/A! puedes usa esta variante que es similar:
=SI(ESNOD(BUSCARV($A4;Hoja1!$A$6:$G$6000;2;FALSO));"ID inexistente";BUSCARV($A4;Hoja1!$A$6:$G$6000;2;FALSO))
Bien, esta fórmula devolverá "ID inexistente"; si el código o nombre en la celda A4 no existe en la columna G de la base que creaste, pero -si lo encuentra- traerá el valor de la columna indicada.
.