Home
» UFFICIO MS
»
LibreOffice Calc VLOOKUP vs XLOOKUP: una guida alle funzioni per principianti
LibreOffice Calc VLOOKUP vs XLOOKUP: una guida alle funzioni per principianti
LibreOffice Calc offre diversi modi per trovare un valore in una tabella e ottenere i dati correlati. Per anni, la funzione CERCA.VERT è stata la scelta più comune. Oggi, Calc include anche CERCA.X , una funzione di ricerca più recente che elimina diverse limitazioni di CERCA.VERT ed è generalmente più facile da gestire.
Questa guida inizia con il modello mentale di base, per poi illustrare formule pratiche che è possibile copiare in un piccolo foglio di calcolo. Spiega inoltre dove la funzione INDICE/CONFRONTA è ancora utile, cosa può andare storto e quale funzione è più adatta a una nuova cartella di lavoro.
Cosa bisogna sapere prima di utilizzare le funzioni di ricerca?
Una funzione di ricerca cerca in un intervallo una chiave, ad esempio un ID prodotto, e restituisce un valore correlato, ad esempio il prezzo del prodotto. La chiave di ricerca può essere testo, un numero, una data o un riferimento di cella.
Nella Guida di LibreOffice, la funzione CERCA.VERT (XLOOKUP) è documentata come un moderno sostituto di CERCA.VERT (VLOOKUP), CERCA.ORIZZ (HLOOKUP) e CERCA.VERT (LOOKUP). CERCA.VERT è disponibile da LibreOffice 24.8. La Guida di LibreOffice 26.8 documenta la corrispondenza esatta e approssimativa, la corrispondenza con caratteri jolly ed espressioni regolari, la ricerca inversa e la ricerca binaria. Consultare la documentazione ufficiale di LibreOffice relativa a CERCA.VERT .
Un dettaglio che spesso sorprende chi proviene da Microsoft Excel: gli esempi di formule di LibreOffice utilizzano comunemente il punto e virgola tra gli argomenti. Ad esempio, =XLOOKUP(F2;A2:A6;D2:D6). Calc potrebbe adattare i separatori alle impostazioni locali, quindi segui il separatore accettato dalla tua installazione.
VLOOKUP vs XLOOKUP a colpo d'occhio
Capacità
CERCA.VERT
XLOOKUP
Corrispondenza esatta
Sì, ma normalmente si specifica 0/FALSE
Sì; la corrispondenza esatta è l'impostazione predefinita.
Restituisci un valore a sinistra della colonna di ricerca
No, non direttamente
SÌ
Intervalli di ricerca e di restituzione separati
No; utilizza un array di tabelle più un indice di colonna
SÌ
Risultato predefinito quando non viene trovata alcuna corrispondenza
Nessun argomento specifico
SÌ
Cerca dall'ultimo elemento al primo
Nessun argomento diretto per la modalità di ricerca
SÌ
Corrispondenza approssimativa
SÌ
Sì, con modalità di partita esplicite
Disponibile in LibreOffice prima della versione 24.8
SÌ
NO
Preparate un piccolo tavolo da pratica.
Crea le colonne dalla A alla D con le intestazioni ID prodotto , Nome prodotto , Categoria e Prezzo . Aggiungi alcuni ID, ad esempio da P001 a P005. Inserisci l'ID che desideri cercare nella cella F2 e la tua formula nella cella G2.
Passaggio 1: utilizzare CERCA.VERT per una corrispondenza esatta di base
Supponiamo che P004 si trovi in F2 e che si desideri il prezzo dalla colonna D. Inserire:
=VLOOKUP(F2;$A$2:$D$6;4;0)
Gli argomenti significano: cerca il valore in F2, cerca nella prima colonna di A2:D6, restituisci il valore dalla quarta colonna di tale tabella e richiedi una corrispondenza esatta. I simboli del dollaro creano riferimenti assoluti , che mantengono fisso l'intervallo di ricerca se si copia la formula in altre celle.
Una semplice funzione CERCA.VERT con corrispondenza esatta: il tasto di ricerca è in F2, la tabella è A2:D6 e la colonna 4 fornisce il prezzo.
LibreOffice descrive la funzione CERCA.VERT come una ricerca verticale in cui il valore cercato deve trovarsi nella prima colonna della matrice della tabella e il valore restituito proviene dalla colonna alla sua destra. Avverte inoltre che, se l'ultimo argomento viene omesso o impostato su VERO, la funzione presuppone dati ordinati e può restituire una corrispondenza approssimativa. Consultare la documentazione ufficiale delle funzioni dei fogli di calcolo di LibreOffice prima di fare affidamento sul comportamento approssimativo di CERCA.VERT.
Passaggio 2: utilizzare CERCA.VERT quando la colonna di ritorno si trova a sinistra
Ora riorganizza la tabella in modo che il nome del prodotto sia nella colonna A e l'ID del prodotto nella colonna C. Con CERCA.VERT, questa disposizione risulta scomoda perché la funzione cerca solo nella prima colonna della matrice della tabella e restituisce i valori a destra.
XLOOKUP separa la matrice di ricerca dalla matrice dei risultati . Per trovare P003 nella colonna C e restituire il nome del prodotto dalla colonna A, utilizzare:
=XLOOKUP(F2;$C$2:$C$6;$A$2:$A$6;"Not found")
La funzione CERCA.VERT può cercare in una colonna e restituire un valore dalla colonna alla sua sinistra senza riorganizzare la tabella.
Il quarto argomento è il valore da restituire quando non viene trovata alcuna corrispondenza. Questo rende la formula più facile da leggere rispetto a racchiudere la ricerca in una funzione di gestione degli errori separata per questo caso comune.
Passaggio 3: Gestire gli ID mancanti senza esporre #N/A
Se un utente inserisce un ID inesistente, una semplice ricerca esatta normalmente produce un risultato nullo #N/A. In XLOOKUP, inserisci un risultato leggibile nel quarto argomento:
=XLOOKUP(F2;$A$2:$A$6;$D$2:$D$6;"Not found";0)
La 0modalità di corrispondenza richiede esplicitamente una corrispondenza esatta, sebbene la corrispondenza esatta sia già l'impostazione predefinita di CERCA.VERT. Specificarla può comunque essere utile quando si desidera che l'intento della formula sia chiaro a chi esamina il foglio di calcolo.
XLOOKUP può restituire un valore di fallback leggibile, come "Non trovato", quando non è disponibile una corrispondenza esatta.
Non nascondere automaticamente ogni errore. Se un ID deve sempre esistere, #N/Apuò essere utile perché rivela dati di origine errati o incompleti. Utilizza un meccanismo di fallback intuitivo quando è previsto che le chiavi mancanti siano presenti, non quando indicano un problema di qualità dei dati.
Passaggio 4: cerca dal basso per ottenere il record corrispondente più recente
A volte una chiave compare più di una volta. Ad esempio, un registro delle transazioni può contenere diverse righe per il cliente C001. La funzione CERCA.VERT ha un argomento Modalità di ricerca . Il valore di -1cerca partendo dall'ultimo elemento e procedendo verso il primo.
Per restituire l'importo dall'ultima riga contenente l'ID cliente in F2, utilizzare:
=XLOOKUP(F2;$A$2:$A$8;$D$2:$D$8;"Not found";0;-1)
Con la modalità di ricerca -1, XLOOKUP inizia dalla fine dell'array di ricerca e restituisce l'ultimo record cliente corrispondente.
La documentazione ufficiale di XLOOKUP definisce la modalità di ricerca 1come dal primo all'ultimo e -1dall'ultimo al primo. Fornisce anche le modalità di ricerca binaria 2e -2, ma queste richiedono dati correttamente ordinati. L'utilizzo della ricerca binaria su dati non ordinati può restituire risultati non validi.
Quando è ancora opportuno utilizzare le funzioni INDICE e CONFRONTA?
Prima dell'introduzione di XLOOKUP in Calc 24.8, una valida alternativa era la combinazione di INDICE e CONFRONTA . CONFRONTA individua la posizione relativa di una chiave; INDICE restituisce il valore corrispondente a tale posizione. Ad esempio:
=INDEX($D$2:$D$6;MATCH(F2;$A$2:$A$6;0))
Questa funzionalità rimane utile quando è necessaria la compatibilità con installazioni precedenti di LibreOffice o quando una cartella di lavoro esistente utilizza già in modo coerente le funzioni INDICE/CONFRONTA. La documentazione ufficiale delle funzioni del foglio di calcolo descrive sia INDICE che CONFRONTA .
A partire da LibreOffice 24.8, Calc offre anche la funzione XMATCH. XMATCH aggiunge modalità di ricerca e confronto simili a XLOOKUP, inclusa la ricerca inversa. Consultare la documentazione ufficiale di LibreOffice relativa a XMATCH .
Errori comuni da evitare
Lasciare vuoto l'ultimo argomento della funzione CERCA.VERT quando è necessaria una corrispondenza esatta
Con CERCA.VERT, omettendo l'ultimo argomento si attiva il comportamento di intervallo ordinato. Per ID prodotto, numeri di dipendente, SKU e altri identificatori discreti, utilizzare 0o FALSE per una corrispondenza esatta, a meno che la corrispondenza approssimativa non faccia parte intenzionalmente della progettazione.
Conteggio dell'indice di colonna CERCA.VERT errato
L'indice di colonna della funzione CERCA.VERT viene calcolato a partire dalla prima colonna della matrice della tabella, non dalle lettere di colonna del foglio di calcolo. Nell'intervallo A2:D6, la colonna D ha indice 4. Se in seguito si inserisce una colonna in quella tabella, l'indice predefinito potrebbe non corrispondere più al campo desiderato.
Utilizzo di intervalli di lunghezza diversa in CERCA.VERT
La matrice di ricerca e la matrice dei risultati devono essere allineate riga per riga o colonna per colonna. Un intervallo di ricerca come A2:A100 abbinato a D2:D90 è un errore di progettazione perché le posizioni corrispondenti non coprono gli stessi record.
Utilizzo della ricerca binaria su dati non ordinati
La modalità di ricerca CERCA.VERT 2 prevede l'ordinamento crescente, mentre -2 prevede l'ordinamento decrescente. La documentazione di LibreOffice avverte esplicitamente che i dati non ordinati possono produrre risultati non validi. Se non si ha alcun controllo sull'ordinamento, utilizzare le normali modalità di ricerca in avanti o all'indietro.
Confondere i caratteri jolly con le espressioni regolari
Calc supporta la corrispondenza con caratteri jolly e con espressioni regolari, ma si tratta di modalità di corrispondenza separate in XLOOKUP. La modalità con caratteri jolly utilizza caratteri come *e ?; la modalità con espressioni regolari utilizza il motore di espressioni regolari di Calc. Scegli la modalità con attenzione anziché presumere che un modello venga interpretato automaticamente.
Quale funzione di ricerca dovrebbe scegliere un principiante?
Per un nuovo foglio di calcolo in esecuzione su LibreOffice 24.8 o versioni successive, iniziate con CERCA.X. I suoi intervalli di ricerca e di risultati separati sono più facili da leggere, la corrispondenza esatta è l'impostazione predefinita, i risultati a sinistra sono semplici e le opzioni integrate per i valori non trovati e la ricerca inversa riducono la necessità di formule alternative.
Utilizza CERCA.VERT quando devi gestire una cartella di lavoro esistente basata su di essa, quando la condividi con ambienti in cui il supporto per CERCA.X è incerto o quando lavori con una tabella semplice e stabile i cui limiti non rappresentano un problema. Utilizza INDICE/CONFRONTA quando è importante la compatibilità con le versioni precedenti di LibreOffice o quando la cartella di lavoro segue già tale schema.
L'abitudine più importante non è quella di memorizzare ogni argomento. Piuttosto, prima di scrivere la formula, identifica quattro elementi: quale valore sto cercando, dove sto cercando, quale intervallo deve contenere il risultato e cosa deve succedere se la chiave non è presente? Una volta chiariti questi punti, scegliere tra CERCA.VERT, CERCA.X e INDICE/CONFRONTA diventa molto più semplice.