Documentazione/Funzioni di Calc/CERCA
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Nome funzione:
CERCA
Categoria:
Foglio di calcolo
Riepilogo:
Esegue una ricerca su un intervallo di celle unidimensionale (noto anche come vettore). Confronta un dato valore con le voci nel vettore di ricerca ordinato e, quando viene trovata una corrispondenza, restituisce il contenuto della cella corrispondente in un vettore di risultati.
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.
Sintassi:
CERCA(Criterio di ricerca; Vettore[; Vettore risultato])
Restituisce:
Restituisce il contenuto di una cella all'interno del vettore di risultato (se specificato) o un valore dal vettore di ricerca (nessun vettore di risultato specificato). I dati restituiti possono essere numerici o non numerici a seconda del contesto.
Argomenti:
Criterio di ricerca è una stringa di testo (tra virgolette), un numero, un valore booleano o un riferimento a una cella contenente uno di questi tipi. Il Criterio di ricerca viene confrontato con il contenuto delle celle nel Vettore.
Vettore specifica un intervallo di celle, generalmente definito inserendo il riferimento di cella per la cella in alto a sinistra, seguito da due punti (:), e quindi il riferimento di cella in basso a destra (ad esempio, A1:E10). Può anche essere specificato utilizzando il nome di un intervallo denominato o di un intervallo di database oppure può essere passato come vettore in linea.
Se Vettore è un intervallo di celle multidimensionale, CERCA ne esamina le dimensioni e procede come segue:
- Se l'intervallo è quadrato o più alto che ampio, allora CERCA corrisponde a Criterio di ricerca rispetto al contenuto della prima colonna di Vettore.
- In questo caso, se l'argomento Vettore risultato viene omesso, viene restituito un valore dall'ultima colonna di Vettore risultato.
- Se l'intervallo è più ampio che alto, allora CERCA corrisponde a Criterio di ricerca rispetto al contenuto della prima riga del Vettore.
- In questo caso, se l'argomento Vettore risultato viene omesso, verrà restituito un valore dall'ultima riga di Vettore.
Il vettore da cercare deve essere ordinato, come descritto nella sezione #Dettagli aggiuntivi: di seguito, e ciò consente a CERCA di produrre sia corrispondenze esatte che inesatte (miglior precisione).
Vettore risultato specifica l'intervallo unidimensionale di celle contenenti i valori da restituire. Questo intervallo viene in genere definito inserendo il riferimento di cella per la prima cella, seguito da due punti (:) e quindi dall'ultimo riferimento di cella (ad esempio, A1:A10). Può anche essere specificato utilizzando il nome di un intervallo denominato o di un intervallo di database oppure può essere passato come vettore in linea.
- Se il vettore non è ordinato come previsto, il risultato restituito da CERCA è imprevedibile. In questi casi, è possibile che non venga segnalato alcun errore e potrebbe non essere ovvio che il risultato restituito non abbia significato.
- Se l'argomento Criterio di ricerca precede il contenuto della prima cella del vettore, allora CERCA riporta il Errore #N/D (valore non disponibile).
- Se Vettore risultato è un intervallo di celle multidimensionale, allora CERCA segnala un errore nell'elenco dei parametri (Err:504).
- Non è necessario che le lunghezze del vettore di ricerca e del vettore dei risultati siano le stesse e uno potrebbe essere un vettore di colonna mentre l'altro è un vettore di riga.
- Se Vettore risultato è un vettore in linea e la posizione di corrispondenza non rientra nella sua lunghezza, allora CERCA riporta un errore di valore non disponibile (#N/D).
- Se Vettore risultato è un intervallo di celle e la posizione di corrispondenza non rientra nella sua lunghezza, viene automaticamente esteso alla lunghezza di Vettore risultato, ma nella direzione di Vettore risultato.
- Se Vettore risultato è solo un riferimento a singola cella (e quindi non ha una direzione implicita), CERCA lo estende come un vettore di colonna.
Dettagli aggiuntivi:
Dettagli specifici della funzione CERCA
- Se il vettore da cercare contiene più celle con lo stesso contenuto, CERCA corrisponderà solo a una delle celle che condividono contenuto comune e questo potrebbe essere motivo di confusione.
- Il vettore da cercare deve essere ordinato con i numeri in ordine crescente che appaiono prima dei valori di testo in ordine alfabetico. I valori booleani FALSO e VERO vengono trattati rispettivamente come numeri 0 e 1. CERCA calcola dove apparirà il Criterio di ricerca nell'ordine ordinato.
- Se esiste una corrispondenza esatta tra Criterio di ricerca e una delle voci nel vettore di ricerca, quella posizione viene utilizzata per determinare il valore restituito.
- Se non esiste una corrispondenza esatta tra Criterio di ricerca e una qualsiasi delle voci nel vettore di ricerca, CERCA corrisponde al valore più grande nel vettore di ricerca che è inferiore a Criterio di ricerca.
- Se intendete passare un intervallo di celle multidimensionale per l'argomento Vettore, considerate l'utilizzo di uno dei più flessibili metodi di Calc CERCA.ORIZZ e CERCA.VERT funzioni.
- Se le espressioni regolari sono abilitate nell'area Caratteri jolly formule della finestra di dialogo ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) , allora CERCA troverà le corrispondenze esatte considerando Criterio di ricerca come un'espressione regolare.
- Se i caratteri jolly sono abilitati nell'area Caratteri jolly formule della finestra di dialogo ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS), quindi CERCA troverà le corrispondenze esatte trattando Criterio di ricerca come un'espressione con caratteri jolly.
- 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) non ha alcun effetto sul funzionamento di CERCA.
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), vedete 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
▸ ▸ ▸ e controllate che sia selezionata l'opzione 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 quando "?" 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 Strumenti > Opzioni > LibreOffice Calc > Calcula, 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 mostra il nome, il numero di identificazione e il punteggio dell'esame per dieci studenti. La tabella è ordinata alfabeticamente in base al nome dello studente e quindi i dati nelle celle A2:A11 possono essere utilizzati come vettore nelle chiamate alla funzione CERCA. Questa semplice tabella può essere utilizzata per dimostrare molti dei comportamenti di CERCA.
A | B | C | |
---|---|---|---|
1 | Nome | ID studente | Punteggio esame |
2 | Andrew | 1257 | 32 |
3 | Bethany | 1470 | 80 |
4 | Charles | 1367 | 42 |
5 | David | 1497 | 65 |
6 | Emily | 1730 | 50 |
7 | Ferdinand | 1414 | 41 |
8 | Georgia | 1364 | 17 |
9 | Haley | 1778 | 46 |
10 | Ian | 1769 | 90 |
11 | Jennifer | 1530 | 35 |
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA("Haley"; A2:C11) | Qui l'argomento Vettore è un intervallo di celle multidimensionale (con altezza maggiore della larghezza) e l'argomento Vettore risultato è omesso. La funzione trova la stringa "Haley" nella prima colonna di Vettore e restituisce il punteggio dell'esame dello studente dalla posizione corrispondente nell'ultima colonna. La formula =CERCA("Haley"; A2:A11; C2:C11) darebbe lo stesso risultato. |
46 |
=CERCA(G2; A2:C11) dove la cella G2 contiene la stringa "Ailsa" (inserita senza virgolette). | Anche in questo caso l'argomento Vettore è un intervallo di celle multidimensionale (con altezza maggiore della larghezza) e l'argomento Vettore è omesso. La funzione cerca la stringa "Ailsa" nella prima colonna di Cerca vettore ma poiché "Ailsa" è in ordine alfabetico prima del primo nome nell'elenco ("Andrea"), viene segnalato un errore. La formula =CERCA(G2; A2:A11) darebbe lo stesso risultato. |
#N/D |
=CERCA("Ken"; A2:C11) | Anche in questo caso l'argomento Vettore è un intervallo di celle multidimensionale (con altezza maggiore della larghezza) e l'argomento Vettore risultato è omesso. La funzione cerca la stringa "Ken" nella prima colonna di Cerca vettore e trova che "Ken" è in ordine alfabetico dopo il cognome nell'elenco ("Jennifer"). Viene restituito il punteggio dell'esame dell'ultima persona nell'elenco. La formula =CERCA("Ken"; A2:A11; C2:C11) darebbe lo stesso risultato. |
35 |
=CERCA("Evan"; A2:A11) | Qui l'argomento Vettore è un intervallo di celle unidimensionale e l'argomento Vettore risultato è omesso. La funzione cerca la stringa "Evan" nella prima colonna di Cerca vettore e trova che "Evan" appare dopo "Emily" ma prima di "Ferdinand" nell'elenco ordinato. Restituisce quindi la stringa "Emily". | Emily |
=CERCA("David"; A2:A11; B2:B11) | Qui l'argomento Vettore è un intervallo di celle unidimensionale e viene specificato l'argomento Vettore risultato. La funzione trova la stringa "David" nel Vettore e restituisce il numero identificativo dello studente dalla posizione corrispondente nel Vettore risultato. Le formule =CERCA("David"; A2:B11) e =CERCA ("David"; A2:A11; B2:B3) darebbe lo stesso risultato. |
1497 |
La tabella seguente e gli esempi correlati utilizzano un vettore di ricerca che include numeri, valori booleani e stringhe di testo.
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
1 | −1 | FALSO | VERO | 3 | Cloud "Nuvola" | Rain "Pioggia" | Raincoat "Impermeabile" | Sun "Sole" |
2 | ||||||||
3 | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5 | Pos 6 | Pos 7 | Pos 8 |
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA(−0,5; A1:H1; A3:H3) | Qui la funzione determina che il Criterio di ricerca indicato si trova tra i valori -1 e FALSO (0) nel Vettore. CERCA corrisponde al valore più basso e restituisce la voce corrispondente nel vettore risultato. | Pos 1 |
=CERCA(VERO; A1:H1; A3:H3) | Qui la funzione determina che il Criterio di ricerca corrisponde al valore nella cella C1 all'interno del Vettore. CERCA restituisce la voce corrispondente nel vettore dei risultati. | Pos 3 |
=CERCA("Area"; A1:H1; A3:H3) | Qui la funzione determina che il Criterio di ricerca indicato si trova in ordine alfabetico prima di qualsiasi altra stringa di testo all'interno del Vettore e restituisce il #N/D errore. | #N/D |
=CERCA("^c.*"; A1:H1; A3:H3) con le espressioni regolari abilitate. | La funzione corrisponde all'espressione regolare "^c.*" nel vettore ("Cloud") e restituisce la voce corrispondente nel vettore risultato. | Pos 5 |
=CERCA("^ra.*"; A1:H1; A3:H3) con le espressioni regolari abilitate. | La funzione corrisponde all'espressione regolare "^ra.*" nel vettore ("Raincoat") e restituisce la voce corrispondente nel vettore risultato. Tuttavia, ciò potrebbe non essere particolarmente utile quando sono presenti più voci che corrispondono all'espressione regolare (come in questo caso). | Pos 7 |
=CERCA("s*"; A1:H1; A3:H3) con i caratteri jolly abilitati. | La funzione corrisponde all'espressione jolly "s*" nel vettore ("Sun") e restituisce la voce corrispondente nel vettore risultato. | Pos 8 |
=CERCA("ra*"; A1:H1; A3:H3) con i caratteri jolly abilitati. | La funzione corrisponde all'espressione jolly "ra*" nel vettore ("Raincoat") e restituisce la voce corrispondente nel vettore risultato. Tuttavia, ciò potrebbe non essere particolarmente utile quando sono presenti più voci che corrispondono all'espressione con caratteri jolly (come in questo caso). | Pos 7 |
L'esempio finale mostra l'uso di vettori in linea per gli argomenti Vettore e Vettore risultato.
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA(5; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; {"Idrogeno", "Elio", "Litio", "Berillio", "Boro", "Carbonio", "Azoto", "Ossigeno", "Fluoro", "Neon"}) | Qui la funzione restituisce il nome dell'elemento che ha un numero atomico pari a 5. | Boro |
Funzioni di LibreOffice correlate:
Standard ODF:
Funzioni equivalenti (o simili) di Excel:
LOOKUP