Documentazione/Funzioni di Calc/CERCA.VERT
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Nome funzione:
CERCA.VERT
Categoria:
Foglio di calcolo
Riepilogo:
Esegue una ricerca verticale su una tabella dati specificata. Confronta un dato valore di ricerca con le voci nella prima colonna della tabella dati e, quando viene trovata una corrispondenza, restituisce il contenuto della cella che si trova nella stessa riga del valore corrispondente ma in una colonna diversa.
Il processo di corrispondenza può utilizzare caratteri jolly o espressioni regolari. Per impostazione predefinita, la corrispondenza non fa distinzione tra maiuscole e minuscole, ma è possibile eseguirla quando si utilizza un'espressione regolare.
Se i dati sono impostati orizzontalmente, con valori di confronto nella prima riga della tabella dati, utilizzare CERCA.ORIZZ invece di CERCA.VERT.
Sintassi:
CERCA.VERT(Criterio di ricerca; Matrice; Indice[; Ricerca di intervalli ordinati])
Restituisce:
Restituisce il contenuto della cella che si trova nella stessa riga della cella corrispondente, ma in una colonna diversa. I dati restituiti possono essere numerici o non numerici.
Argomenti:
Criterio di ricerca è una stringa di testo (tra virgolette), un numero o un riferimento a una cella contenente uno di questi tipi. Il Criterio di ricerca viene confrontato con il contenuto delle celle nella prima colonna di Matrice per determinare la riga di interesse.
Matrice specifica l'intervallo di celle occupate dalla tabella dati. Questo intervallo può essere definito inserendo il riferimento della cella in alto a sinistra, seguito da due punti (:), quindi il riferimento della cella in basso a destra (ad esempio, A1:E10). Matrice può anche essere specificato passando il nome di un intervallo denominato o di un intervallo di database. È anche possibile passare un array in linea come argomento Matrice.
Indice è un numero intero positivo, o un riferimento a una cella contenente quel numero, che indica la colonna contenente i dati da restituire. La prima colonna ha il numero 1. Indice non deve essere maggiore del numero di colonne in Matrice.
Ricerca intervallo ordinato è un valore booleano/logico (VERO o FALSO) o un riferimento a un cella contenente quel valore, che indica se i dati nella prima colonna di Matrice dovrebbero essere ordinati correttamente (come descritto nella sezione #Dettagli aggiuntivi: di seguito) .
- Se Ricerca intervallo ordinato è impostato su 0 o FALSO, si presuppone che i dati nella prima colonna di Array non siano ordinati e CERCA.VERT cerca una corrispondenza esatta.
- Se Ricerca intervallo ordinato viene omesso o impostato su VERO o su qualsiasi valore numerico diverso da 0, i dati nella prima colonna della Matrice si presuppone sia ordinato e CERCA.VERT può produrre corrispondenze "migliori" (esatte o inesatte).
Possono verificarsi le seguenti condizioni:
- Se Indice non è numerico, allora CERCA.VERT riporta un errore #VALORE!.
- Se Indice è un valore non intero, CERCA.VERT lo tronca a un numero intero.
- Se, dopo qualsiasi troncamento, Indice è inferiore a 1 o maggiore del numero di colonne contenute in Area, CERCA.VERT segnala un valore non valido errore argomento (Err:502).
- Se Ricerca intervallo ordinato è VERO, ma le celle nella prima colonna della tabella dati non sono ordinate come previsto, il risultato restituito da CERCA.VERT è imprevedibile. In questi casi, è possibile che non venga segnalato alcun errore e potrebbe non essere ovvio che il risultato restituito non abbia significato.
- Se Ricerca intervallo ordinato è FALSO e non è possibile trovare alcuna corrispondenza esatta con Criterio di ricerca nella tabella dei dati, allora CERCA.VERT riporta l'errore #N/D (valore non disponibile).
- Se Ricerca intervallo ordinato è VERO e l'argomento Criterio di ricerca precederebbe la prima cella nella prima colonna della tabella dati, quindi CERCA.VERT segnala l'errore #N/D (valore non disponibile).
Dettagli aggiuntivi:
Dettagli specifici della funzione CERCA.VERT
- Se Ricerca intervallo ordinato è FALSO e la prima colonna della tabella contiene più celle con lo stesso contenuto, CERCA.VERT corrisponderà solo alla cella (della prima colonna dell'Area) più in alto di quelle che condividono contenuti comuni.
- Se Ricerca intervallo ordinato è VERO, è previsto che la prima colonna della tabella dati sia ordinata, con i numeri in ordine crescente ordine che appare prima dei valori di testo in ordine alfabetico. Nel caso in cui la prima colonna della tabella dati non sia ordinata come previsto, il risultato è imprevedibile. CERCA.VERT calcola dove nella prima colonna Criterio di ricerca apparirà nell'ordine ordinato (previsto).
- Se esiste una corrispondenza esatta tra Criterio di ricerca e una delle voci nella prima colonna, quella riga viene utilizzata per determinare il valore restituito.
- Se non c'è corrispondenza esatta tra Criterio di ricerca e una qualsiasi delle voci nella prima colonna, la riga immediatamente prima dove Criterio di ricerca apparirà nella prima colonna utilizzata.
- Se le espressioni regolari sono abilitate nell'area Caratteri jolly formule di ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) finestra di dialogo, quindi CERCA.VERT troverà le corrispondenze esatte trattando Criterio di ricerca come un'espressione regolare. Ciò ha senso solo se Ricerca intervallo ordinato è FALSO.
- Se i caratteri jolly sono abilitati nell'area Caratteri jolly formule della finestra di dialogo ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) , allora CERCA.VERT troverà le corrispondenze esatte trattando Criterio di ricerca come un'espressione con caratteri jolly. Ciò ha senso solo se Ricerca intervallo ordinato è FALSO.
- Se l'opzione
Criteri di ricerca = e <> devono applicarsi a celle intere
è selezionata nell'area Calcoli generali di ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS), quindi Criterio di ricerca deve corrispondere all'intero testo in una cella; in caso contrario, può corrispondere solo a una parte del testo. - L'opzione Con distinzione tra maiuscole e minuscole nell'area Calcoli generali di ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) la finestra di dialogo non ha alcun effetto sul funzionamento di CERCA.VERT. Per impostazione predefinita, CERCA.VERT non fa distinzione tra maiuscole e minuscole, a meno che una ricerca con distinzione tra maiuscole e minuscole non sia imposta da un'espressione regolare specifica.
Informazioni generali sulle espressioni regolari in Calc
- Un'espressione regolare è una stringa di caratteri che definisce una sequenza di testo da ricercare. Potete trovare maggiori e più dettagliate informazioni sulla pagina di Wikipedia relativa alle Espressioni regolari.
- Le espressioni regolari sono ampiamente usate in molti campi e sono disponibili molteplici processori di espressioni regolari. Calc utilizza il pacchetto open source Regular Expressions della International Components for Unicode (ICU). Vedere la loro documentazione sulle Espressioni regolari per maggiori dettagli, che comprendono la definizione integrale della sintassi delle Espressioni regolari ICU.
- In aggiunta a ciò, la guida in linea di LibreOffice fornisce un elenco delle espressioni regolari di alto livello.
- Il motore per le espressioni regolari di Calc supporta il rilevamento di gruppi numerati, che consentono di identificare dei sotto intervalli all'interno di una corrispondenza e di usarli all'interno di un testo sostitutivo. Le parentesi sono usate per raggruppare i componenti di un'espressione regolare e creare un gruppo numerato. Per inserire un gruppo rilevato all'interno di un testo sostitutivo, usate il formato "$n", nel quale n è il numero del gruppo rilevato.
Informazioni generali sui caratteri jolly di Calc
I caratteri jolly sono dei caratteri speciali che possono essere usati all'interno delle stringhe di ricerca e passato come argomenti ad alcune funzioni di Calc; possono essere usati anche per definire dei criteri di ricerca all'interno della finestra di dialogo Trova e sostituisci. L'uso di caratteri jolly permette la definizione di parametri di ricerca più avanzati usando un'unica stringa di ricerca.
Calc supporta come argomento sia i caratteri jolly, sia le espressioni regolari, a seconda delle impostazioni correnti del programma. Per impostazione predefinita sono supportati i caratteri jolly e non le espressioni regolari.
Per assicurarvi che siano supportati i caratteri jolly, andate in Permetti caratteri jolly nelle formule
. Prestate attenzione al fatto che potete usare questa finestra di dialogo anche per passare alle espressioni regolari selezionando Permetti le espressioni regolari nelle formule
, oppure scegliere di non supportare né i caratteri jolly, né le espressioni regolari.
La tabella seguente identifica i caratteri jolly supportati da Calc.
Carattere jolly | Descrizione |
---|---|
? (punto interrogativo) | Trova qualsiasi carattere singolo. Per esempio, la stringa di ricerca "b?g" trova "bag" e "beg" ma non troverà "boog" o "mug". Fate attenzione che non troverà neppure "bg", in quanto "?" deve corrispondere esattamente ad un carattere. Il carattere jolly "?" non combacia con una corrispondenza di zero caratteri. |
* (asterisco) | Trova qualsiasi sequenza di caratteri, compresa una stringa vuota. Per esempio, la stringa di ricerca "*cast" troverà "cast", "forecast" e “outcast”, ma, usando le impostazioni predefinite di Calc, non troverà "forecaster". Se l'opzione I criteri di ricerca = e <> devono riferirsi a celle intere è disabilitata in , allora "forecaster" sarà trovato usando la stringa di ricerca "*cast".
|
~ (tilde) | Annulla il significato speciale di un carattere punto interrogativo, asterisco o tilde che segue immediatamente dopo il carattere tilde. Per esempio, la stringa di ricerca "why~?" troverà "why?" ma non troverà "whys" né "why~s". |
La comparazione dei caratteri jolly non fa distinzione tra caratteri maiuscoli e minuscoli, perciò "A?" troverà entrambi "A1" e "a1".
Questi caratteri jolly sono supportati in Calc e Microsoft Excel. Perciò, se avete la necessità dell'interoperabilità tra le due applicazioni, scegliete di lavorare con i caratteri jolly e non con le espressioni regolari. Al contrario, se l'interoperabilità non è necessaria, prendete in considerazione l'uso delle espressioni regolari per avere a disposizione capacità di ricerca più potenti.
Esempi:
La tabella seguente è un esempio reale di una tabella non ordinata, che mostra i dati estratti dalla tavola periodica degli elementi chimici.
A | B | C | D | |
---|---|---|---|---|
1 | Elemento | Simbolo | Numero Atomico | Massa Atomica Relativa |
2 | Idrogeno | H | 1 | 1,008 |
3 | Elio | He | 2 | 4,003 |
4 | Litio | Li | 3 | 6,94 |
5 | Berillio | Be | 4 | 9,012 |
6 | Boro | B | 5 | 10,81 |
7 | Carbonio | C | 6 | 12,011 |
8 | Azoto | N | 7 | 14,007 |
9 | Ossigeno | O | 8 | 15,999 |
10 | Fluoro | F | 9 | 18,998 |
11 | Neon | Ne | 10 | 20,18 |
Gli esempi seguenti utilizzano la tabella dati precedente. Nella maggior parte dei casi, l'argomento Ricerca intervallo ordinato è impostato su 0 (FALSO) in modo che CERCA.VERT cerca una corrispondenza esatta nella tabella non ordinata.
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.VERT("Elio"; $A$2:$D$11; 2; 0) |
La funzione corrisponde alla stringa "Elio" nella prima colonna della tabella dati (cella A3) e restituisce i dati dalla cella all'intersezione di questa riga e la seconda colonna della tabella (cella B3). Viene restituito il simbolo dell'elio. |
He |
=CERCA.VERT("CARBONIO"; $A$2:$D$11; 3; 0) |
La funzione corrisponde alla stringa "CARBONIO" nella prima colonna della tabella dati (cella A7) e restituisce i dati dalla cella all'intersezione di questa riga e la terza colonna della tabella (cella C7). Viene restituito il numero atomico del carbonio. |
6 |
=CERCA.VERT("Ossigeno"; $A$2:$D$11; 4,6; 0) |
La funzione corrisponde alla stringa "Ossigeno" nella prima colonna della tabella dati (cella A9) e restituisce i dati dalla cella all'intersezione di questa riga e la quarta colonna della tabella (cella D9) - l'Indice il valore di 4,6 viene troncato a 4. Viene restituita la massa atomica relativa dell'ossigeno. |
15,999 |
=CERCA.VERT("Neon"; $A$2:$D$11; 2; VERO()) |
Questo esempio mostra la confusione che può sorgere se l'argomento Ricerca intervallo ordinato è impostato o predefinito su VERO, quando la tabella dati non è ordinata nell'ordine previsto . Questa formula restituisce il testo (imprevedibile) "C", quando ci si aspetterebbe "Ne". |
C |
=CERCA.VERT("^bo.*"; $A$2:$D$11; 4; 0)
|
La funzione corrisponde all'espressione regolare "^bo.*" nella prima colonna della tabella dati (cella A6) e restituisce i dati dalla cella all'intersezione di questa riga e la quarta colonna della tabella (cella D6). Viene restituita la massa atomica relativa del boro. |
10,81 |
=CERCA.VERT("nit*"; $A$2:$D$11; 4; 0)
|
La funzione corrisponde all'espressione jolly "nit*" nella prima colonna della tabella dati (cella A8) e restituisce i dati dalla cella all'intersezione di questa riga e la quarta colonna della tabella (cella D8). Viene restituita la massa atomica relativa dell'azoto. |
14,007 |
La seguente tabella mostra i dati di vendita per una piccola azienda. Quattro righe (intitolate da 1 a 4) mostrano le vendite totali in ciascun trimestre dell'anno e il nome del venditore con le migliori prestazioni in quel trimestre. Quattro righe (intitolate E_reg, N_reg, S_reg e W_reg) mostrano le vendite totali in ciascuna regione per l'anno e il nome del venditore con le migliori prestazioni in quella regione in quell'anno. I dati nella prima colonna sono ordinati nell'ordine prescritto e quindi gli esempi che seguono non specificano un valore per l'argomento Ricerca intervallo ordinato, con CERCA.VERT applicando il valore predefinito di VERO.
A | B | C | |
---|---|---|---|
1 | Categoria | Totale Vendite | Classifica Venditore |
2 | 1 | $27 094 | Samuel |
3 | 2 | $96 516 | Aaron |
4 | 3 | $82 485 | Pippa |
5 | 4 | $48 487 | Ollie |
6 | E_reg | $99 908 | Lillian |
7 | N_reg | $83 535 | George |
8 | S_reg | $46 553 | Zara |
9 | W_reg | $24 586 | Kristina |
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.VERT(0; $A$2:$C$9; 2) |
La funzione tenta di far corrispondere il numero 0 nella prima colonna della tabella dati, ma poiché 0 è inferiore al primo numero (1) nella colonna, la formula riporta #N/D errore. |
#N/D |
=CERCA.VERT(2,5; $A$2:$C$9; 2) |
La funzione tenta di far corrispondere il numero 2,5 nella prima colonna della tabella dati. Poiché 2,5 è maggiore di 2 e minore di 3, CERCA.VERT utilizza il valore 2 (situato nella riga 3). La formula restituisce i dati dalla cella all'intersezione di questa riga e la seconda colonna della tabella (cella B3). Vengono restituite le vendite totali per il secondo trimestre. |
96516 |
=CERCA.VERT(3; $A$2:$C$9; 2) |
La funzione corrisponde al numero 3 nella prima colonna della tabella dati (cella A4) e restituisce i dati dalla cella all'intersezione di questa riga e la seconda colonna della tabella (cella B4).
Vengono restituite le vendite totali per il terzo trimestre.
Tieni presente che la formula |
82485 |
=CERCA.VERT(123; $A$2:$C$9; 2) |
La funzione tenta di far corrispondere il numero 123 nella prima colonna della tabella dati. Poiché 123 è maggiore degli (altri) numeri presenti, CERCA.VERT utilizza la riga 5. La formula restituisce i dati dalla cella all'intersezione di questa riga e la seconda colonna della tabella (cella B5). Vengono restituite le vendite totali per il quarto trimestre. |
48487 |
=CERCA.VERT("C_reg"; $A$2:$C$9; 3) |
La funzione tenta di far corrispondere la stringa "C_reg" nella prima colonna della tabella dati, ma poiché "C_reg" è in ordine alfabetico prima del primo testo ("E_reg") nella colonna, la formula riporta #N/D errore. |
#N/D |
=CERCA.VERT("F_reg"; $A$2:$C$9; 3) |
La funzione tenta di far corrispondere la stringa "F_reg" nella prima colonna della tabella dati. Poiché "F_reg" è in ordine alfabetico dopo "E_reg" ma prima di "N_reg", CERCA.VERT utilizza il primo, situato nella riga 6. La formula restituisce i dati della cella all'intersezione di questa riga e della terza colonna della tabella (cella C6). Viene restituito il venditore principale per la regione "E_reg". |
Lillian |
=CERCA.VERT("S_reg"; $A$2:$C$9; 3) |
La funzione corrisponde alla stringa "S_reg" nella prima colonna della tabella dati (cella A8) e restituisce i dati dalla cella all'intersezione di questa riga e la terza colonna della tabella (cella C8). Viene restituito il venditore principale per la regione "S_reg". |
Zara |
=CERCA.VERT("Zagreb"; $A$2:$C$9; 3) |
La funzione tenta di far corrispondere la stringa "Zagreb" nella prima colonna della tabella dati. Poiché "Zagreb" è in ordine alfabetico dopo le altre stringhe presenti, CERCA.VERT utilizza il valore che si trova più in basso nell'elenco (riga 9). La formula restituisce i dati della cella all'intersezione di questa riga e della terza colonna della tabella (cella C9). Viene restituito il venditore principale per la regione "W_reg". |
Kristina |
L'esempio finale è incluso per mostrare che l'argomento Matrice può assumere la forma di un array in linea. In questo caso viene utilizzata una virgola come separatore di colonna della matrice, mentre un punto e virgola viene utilizzato come separatore di riga della matrice. Questi separatori di matrice possono essere modificati tramite la sezione Separatori di
▸ ▸ ▸ (o ▸ ▸ ▸ su macOS ) dialogo.Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.VERT(5; {1, "Lunedì"; 2, "Martedì"; 3, "Mercoledì"; 4, "Giovedì"; 5, "Venerdì"; 6, "Sabato"; 7, "Domenica"}; 2) |
L'esempio finale è incluso per mostrare che l'argomento Matrice può assumere la forma di un array in linea. In questo caso viene utilizzata una virgola come separatore di colonna della matrice, mentre un punto e virgola viene utilizzato come separatore di riga della matrice. La funzione corrisponde al numero 5 nella prima colonna della matrice e restituisce i dati dalla cella all'intersezione di questa riga e della seconda colonna della matrice. |
Venerdì |
Funzioni di LibreOffice correlate:
Standard ODF:
Funzioni equivalenti (o simili) di Excel:
VLOOKUP