edubun
Italiano

Cercare valori con VLOOKUP

Se ometti l'ultimo argomento di VLOOKUP, sia Excel sia Google Sheets usano una corrispondenza approssimata. Google consiglia di scrivere FALSE.

Un listino prezzi con codici

Un negozio tiene i prezzi in una piccola tabella: codici in A2:A5, nomi degli articoli in B2:B5, prezzi in C2:C5. Alla cassa qualcuno digita un codice e vuole il prezzo. È il lavoro di VLOOKUP. Trova un valore nella prima colonna di una tabella e restituisce qualcosa dalla stessa riga. Microsoft elenca i quattro elementi che servono: il valore da cercare, l'intervallo in cui si trova, il numero della colonna di quell'intervallo che contiene la risposta e se vuoi una corrispondenza approssimata (TRUE) o esatta (FALSE). =VLOOKUP(104, A2:C5, 3, FALSE) trova 104 nella colonna A e restituisce il prezzo dalla terza colonna dell'intervallo.

Due regole causano quasi tutti i problemi. Primo, il valore deve stare nella prima colonna dell'intervallo e la risposta deve trovarsi alla sua destra. VLOOKUP non guarda mai a sinistra, quindi se i codici sono nella colonna B, l'intervallo deve iniziare da B. Secondo, il numero di colonna si conta dalla prima colonna dell'intervallo, non dalla colonna A del foglio; in B2:D9, B è 1, C è 2 e D è 3. Entrambe le guide danno lo stesso consiglio anche per le formule copiate. Rendi assoluto l'intervallo, come in $A$2:$C$5, così non scivola quando riempi in basso.

Quando il codice non è nell'elenco

Con FALSE, VLOOKUP cerca esattamente il valore che hai dato e restituisce la prima riga che corrisponde. Se non c'è corrispondenza, dà #N/A. Un numero di colonna più grande del numero di colonne dell'intervallo dà #REF!, e uno minore di 1 dà #VALUE!. Le ricerche di testo ignorano maiuscole e minuscole ma non gli spazi: la guida di Google fa notare che " Apple", "Apple " e "Apple" sono tre valori diversi. Anche un numero memorizzato come testo è diverso dal numero, quindi un codice scritto come '104 non viene trovato cercando 104.

Con la corrispondenza esatta, i caratteri jolly ? e * funzionano in entrambi i programmi. ? sta per un carattere qualsiasi e * per una sequenza qualsiasi di caratteri, quindi "Ora*" trova Orange. Quando #N/A è un esito normale, per esempio un codice non ancora nel listino, racchiudi la ricerca in IFNA, che esiste in entrambi i programmi: =IFNA(VLOOKUP(E2, $A$2:$C$5, 3, FALSE), "not found"). Funziona anche IFERROR. Però nasconde ogni tipo di errore, compreso un numero di colonna sbagliato che vorresti vedere, e la pagina di Microsoft su #VALUE! mette in guardia da IFERROR per lo stesso motivo.

Caricamento

Trascina per ruotare. Scorri o avvicina le dita per lo zoom.

Dopo le consegne, scrivi 102 in E2: la corrispondenza esatta dà #N/A. Poi cambia il numero di colonna in 4 e leggi la spiegazione di #REF!.

Cercare una fascia invece di un codice esatto

TRUE, o nessun quarto argomento, dà una corrispondenza approssimata, che è l'impostazione predefinita in entrambi i programmi. La guida di Google descrive la ricerca: scorre la prima colonna finché trova un valore più grande della chiave di ricerca, poi si ferma sulla riga precedente. È adatto alle fasce. In una tabella dei giudizi con 0, 60, 70, 80 e 90 nella prima colonna, un voto di 85 supera 80, incontra 90 e restituisce B dalla riga dell'80. La prima colonna deve essere ordinata dal più piccolo al più grande, e un valore minore della prima riga restituisce #N/A. Su una colonna non ordinata la risposta non è affidabile, ed è per questo che Google consiglia FALSE a meno che tu non voglia proprio una fascia.

Caricamento

Trascina per ruotare. Scorri o avvicina le dita per lo zoom.

La stessa scala di voti dell'IF annidato, tenuta nelle celle. Dopo, scambia due righe della tabella e il pannello avvisa che la prima colonna non è più ordinata.
Microsoft ExcelGoogle Sheets
Nome del 4° argomentorange_lookupis_sorted
Predefinito se omessoTRUE (approssimata)TRUE (approssimata)
Consiglio della guidaordinare la prima colonna o usare FALSEsi consiglia FALSE
XLOOKUPMicrosoft 365 ed Excel 2021 in poi; non in 2016 o 2019disponibile
Formula illeggibilerifiutata con un messaggio#ERROR!
Riferimento circolareavviso, poi 0 o l'ultimo valore#REF!
ROUND senza cifrenon accettataarrotonda a un intero
Argomenti per funzionefino a 255numero qualsiasi

Ora entrambi i programmi hanno anche XLOOKUP. Prende un intervallo di ricerca e un intervallo dei risultati separato, quindi la risposta può stare a sinistra, e usa una corrispondenza esatta se non gli si dice altrimenti. Microsoft fa notare che XLOOKUP non è disponibile in Excel 2016 o Excel 2019, quindi un file che deve aprirsi in quelle versioni dovrebbe restare con VLOOKUP. La tabella qui sopra raccoglie le differenze tra i due programmi incontrate in questo corso.

Errori comuni
  • Omettere FALSE quando si cerca un codice. L'impostazione predefinita è la corrispondenza approssimata, quindi un codice che non è nell'elenco può restituire il prezzo della riga sopra invece di #N/A.
  • Contare il numero di colonna dalla colonna A del foglio. Si conta dalla prima colonna dell'intervallo. Con C2:F20, la colonna E è 3, non 5.
  • Riempire in basso una ricerca senza $ sull'intervallo. A2:C5 scivola in A3:C6, A4:C7 e così via, e le righe più in basso non trovano più i codici in cima alla tabella.
  • Racchiudere ogni ricerca in IFERROR. Nasconde sia un #REF! dovuto a un numero di colonna sbagliato sia il #N/A previsto. IFNA nasconde solo #N/A.
Nota per l'insegnanteVLOOKUP ha quattro argomenti, e gli studenti tendono a perdere di vista il terzo e il quarto. Fateli dire ad alta voce per ogni formula che scrivono. Insegnate prima FALSE e trattate la corrispondenza approssimata come una lezione a parte, con una tabella a fasce, così le due idee non si confondono. Poi rompete il laboratorio di proposito: un codice mancante, un numero di colonna troppo grande, un codice con uno spazio finale. Un messaggio di errore si ricorda molto meglio quando lo si è provocato a mano. XLOOKUP merita un accenno se tutti usano Microsoft 365 o Sheets.
  1. Codici 101, 103, 104, 107 con gli articoli Apple, Banana, Orange, Pear in A2:B5. Che cosa restituisce =VLOOKUP(103, A2:B5, 2, FALSE)?
  2. Stessa tabella. Che cosa restituisce =VLOOKUP(102, A2:B5, 2, FALSE)?
    • #N/A
    • Apple
    • Banana
    • #REF!
  3. Stessa tabella. Che cosa restituisce =VLOOKUP(102, A2:B5, 2, TRUE)?
  4. Stessa tabella. Che cosa restituisce =VLOOKUP(103, A2:B5, 3, FALSE)?
    • #REF!
    • #N/A
    • #VALUE!
    • Banana
  5. L'intervallo è C2:F20. Quale numero di colonna restituisce i valori della colonna E?
  6. Tabella dei giudizi: 0 F, 60 D, 70 C, 80 B, 90 A. Che cosa restituisce un VLOOKUP approssimato per 85?
  7. Stessa tabella. Che cosa restituisce per esattamente 90?
  8. Che cosa succede se si omette il quarto argomento?
    • Corrispondenza approssimata in entrambi i programmi
    • Corrispondenza esatta in entrambi i programmi
    • Esatta in Excel, approssimata in Sheets
    • Un errore
  9. Perché l'intervallo della tabella va scritto come $A$2:$C$5?
    • Perché non scivoli quando la formula viene riempita in basso
    • Perché ordini la tabella
    • Perché trovi solo le maiuscole
    • Perché restituisca testo
  10. Gli articoli sono in B2:B5 e i prezzi in C2:C5. Che cosa restituisce =IFNA(VLOOKUP("Pencil", B2:C5, 2, FALSE), "not found")?
  11. Quali versioni di Excel non hanno XLOOKUP?
    • Excel 2016 ed Excel 2019
    • Microsoft 365
    • Excel per il Web
    • Excel 2021
Punti chiave
  • VLOOKUP(valore, intervallo, numero di colonna, FALSE) per una corrispondenza esatta.
  • Il valore deve stare nella prima colonna; il numero di colonna si conta dall'intervallo.
  • TRUE (o niente) è approssimata: la prima colonna deve essere ordinata, e restituisce l'ultima riga non più grande del valore.
  • Usa un intervallo assoluto, IFNA per i #N/A previsti, e FALSE a meno che tu non voglia delle fasce.
Fonti di questo corso (19)
  • Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
  • Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
  • Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
  • Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
  • Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
  • Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
  • Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
  • Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
  • Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
  • Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
  • Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
  • Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
  • Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
  • Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
  • Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
  • Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
  • Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
  • Ablebits (IF without value_if_false returns FALSE)
  • Spreadsheet Class (Sheets circular dependency shows #REF!)

Consultato il: 2026-10-19