Come posso sostituire tutti i numeri dei dipendenti con il loro nome corrispondente in Excel?


2

Ho una cartella di lavoro con un foglio che è formattato in questo modo:

| 1234 | Name 1 |
| 2345 | Name 2 |
| 3456 | Name 3 |

C'è quindi un altro foglio con dati come questo:

| Hours | Employee ID |
| 18    | 1234        |
| 8     | 2345        |
| 2     | 3456        |

Esiste un modo automatizzato in Excel per sostituire automaticamente tutti i numeri ID dei dipendenti nel secondo foglio con il nome corrispondente? Come "1234" -> "Nome 1".


3
Questo è più un lavoro per Microsoft Access che Excel. Se hai intenzione di fare molte visualizzazioni, suggerirei di passare a un database anziché a un foglio di calcolo.
wbeard52,

Risposte:


8

Il modo più semplice per fare ciò che stai guardando è aggiungere una colonna aggiuntiva al foglio con le ore e l'ID dell'impiegato e fare un VLookup nella nuova colonna. Microsoft ha assistenza su VLookup all'indirizzo http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx

Un paio di cose importanti da notare: l'elenco sul primo foglio deve essere ordinato in base all'ID (il valore che stai cercando quando un VLookup si interrompe quando raggiungi il valore successivo).

La formula per il tuo caso sarebbe approssimativa (supponendo che le colonne siano una accanto all'altra e inizino dalla colonna A e la riga 1 abbia titoli)

=vlookup(B2,Sheet1!A1:B200,2)

  • B2 è il campo che stai cercando (ID)

  • Sheet1!A1:B200 sono celle su altri fogli contenenti dati - escludi intestazioni

  • 2 è la seconda colonna nell'altro foglio.


2
Nota a margine, se si imposta il quarto parametro di = VLOOKUP = su = FALSE =, la tabella non deve essere ordinata perché esegue una corrispondenza esatta anziché una ricerca per intervallo.
dsolimano,

3
Quel quarto parametro di FALSE dovrebbe sicuramente essere impostato, non solo per evitare l'ordinamento, ma perché altrimenti restituirà la "corrispondenza più vicina". Dal momento che stai cercando di sostituire solo le corrispondenze esatte, ciò causerebbe confusione se restituisse una persona completamente estranea quando non c'era una corrispondenza esatta. L'uso di FALSE lo farà tornare in #N/Amodo da poter identificare le voci senza eguali.
techturtle,

2

Non posso commentare qui, ma oltre ai commenti sulla risposta di Alain King.

Per soluzioni VLookup a lungo termine, può essere utile disporre di una gamma generale più ampia che includa la gamma effettiva.

In questa circostanza farei:

=vlookup(B2,Sheet1!A:B,2,FALSE) 

Nell'esempio di Alain, questo avrà esattamente lo stesso risultato della sua formula. L'unica differenza è che se i dati vengono aggiunti nella riga 201 o oltre la formula cercherà automaticamente anche quelle righe.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.