Documentazione/Funzioni di Calc/CONFRONTA
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Nome funzione:
CONFRONTA
Categoria:
Foglio di calcolo
Riepilogo:
Identifica la posizione relativa di un elemento di ricerca in un intervallo di celle a riga o colonna singola, a seconda dei suoi argomenti.
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:
CONFRONTA(Criterio di ricerca; Matrice di ricerca[; Tipo])
Restituisce:
Restituisce un numero intero compreso tra 1 e la dimensione dellarray di ricerca specificato, fornendo la posizione dell'elemento cercato-for nell'intervallo di celle specificato.
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 nella Matrice di ricerca.
Matrice di ricerca è l'intervallo di celle a riga o colonna singola in cui effettuare la ricerca. Può anche essere specificato utilizzando il nome di un intervallo denominato o di un intervallo di database oppure può essere passato come matrice in linea.
Tipo è un numero intero, o un riferimento a una cella contenente un numero intero, che indica in quale ordine verranno cercati i dati nella Matrice di ricerca. I valori previsti per Tipo sono i seguenti:
- Tipo =
1
(predefinito). Si presuppone che array di ricerca sia ordinato in ordine ascendente (vedere la sezione #Dettagli aggiuntivi: di seguito per una descrizione dell'ordine di ordinamento). CONFRONTA restituisce la posizione del valore più grande nella Matrice di ricerca che è minore di o uguale a Criterio di ricerca. - Tipo =
0
. Non si presuppone che la Matrice di ricerca sia ordinata in alcun modo particolare. CONFRONTA restituisce la posizione della prima corrispondenza esatta. Il Criterio di ricerca può facoltativamente utilizzare espressioni regolari o caratteri jolly, se questi sono abilitati. - Tipo =
-1
. Si presuppone che la Matrice di ricerca sia ordinata in ordine discendente. CONFRONTA restituisce la posizione del valore più piccolo nell'array di ricerca che è maggiore di o uguale a Criterio di ricerca.
Possono verificarsi le seguenti condizioni:
- Se Matrice di ricerca è un intervallo di celle multidimensionale, allora CERCA segnala un errore nell'elenco dei parametri (Err:504).
- Se Tipo non è numerico, CONFRONTA riporta un errore #VALORE!.
- Se Tipo è un numero positivo, allora CONFRONTA presuppone che Matrice di ricerca sia ordinata in ordine crescente.
- Se Tipo è un numero negativo, allora CONFRONTA presuppone che Matrice di ricerca sia ordinata in ordine decrescente.
- Se Tipo è diverso da zero, ma le celle nella Matrice di ricerca non sono ordinate come previsto, il risultato restituito da CONFRONTA è imprevedibile e inaffidabile. In questi casi, è possibile che non venga segnalato alcun errore e potrebbe non essere ovvio che il risultato restituito non abbia significato.
- Se Tipo è diverso da zero e Criterio di ricerca utilizza un'espressione regolare o un'espressione con caratteri jolly, CONFRONTA non segnala regolarmente un errore . Tuttavia, potrebbe non essere ovvio quando il risultato restituito non ha significato.
- Se Tipo è zero e non è possibile trovare alcuna corrispondenza esatta con Criterio di ricerca in Matrice di ricerca, allora CONFRONTA segnala l'errore #N/D.
- Se Tipo è diverso da zero e Criterio di ricerca precede la prima cella in Matrice di ricerca per l'ordinamento specificato, allora CONFRONTA riporta l'errore #N/D.
Dettagli aggiuntivi:
Dettagli specifici della funzione CONFRONTA
- I valori booleani FALSO e VERO vengono trattati rispettivamente come numeri 0 e 1.
- Se Tipo è zero e Matrice di ricerca contiene più celle con lo stesso contenuto, CONFRONTA corrisponderà solo a una delle celle che condividono un contenuto comune. Questo potrebbe essere motivo di confusione.
- Se Tipo è maggiore di zero, Matrice di ricerca deve essere ordinato con i numeri in ordine crescente visualizzati prima dei valori di testo in ordine alfabetico. CONFRONTA calcola dove nella Matrice di ricerca apparirà il valore del Criterio di ricerca nell'ordine ordinato.
- Se Tipo è inferiore a zero, Matrice di ricerca deve essere ordinato con i valori di testo in ordine alfabetico discendente visualizzati prima dei numeri in ordine discendente. CONFRONTA calcola dove nella Matrice di ricerca apparirà il valore del Criterio di ricerca nell'ordine ordinato.
- Se le espressioni regolari sono abilitate nell'area Caratteri jolly formule della finestra di dialogo ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) , allora CONFRONTA 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 CONFRONTA 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 CONFRONTA.
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:
Nella prima serie di esempi, si presuppone che le celle A1:M1 contengano i seguenti numeri e stringhe:
7, "King", 3, 2, 8, 5, "Ace", 6, "Jack", 10, 4, 9, "Queen"
(che rappresentano le 13 carte di un seme di un mazzo di carte da gioco, mescolate in ordine casuale).
Le stringhe vengono inserite nelle rispettive celle senza virgolette.
Formula | Descrizione | Restituisce |
---|---|---|
=CONFRONTA(2; ricerca; 0)
dove ricerca è un intervallo denominato (o intervallo di database) che copre l'intervallo di celle A1:M1. |
Cerca esattamente il valore 2 nell'intervallo di celle specificato, situato nella quarta posizione. |
4 |
=CONFRONTA(3,6; A1:M1; 0) | Non esiste una corrispondenza esatta per il valore 3,6. | #N/D |
=CONFRONTA(A3; A1:M1; A4)
dove le celle A3 e A4 contengono rispettivamente la stringa "Jack" (senza virgolette) e il numero 0. |
Cerca esattamente "Jack" (senza virgolette, non con distinzione tra maiuscole e minuscole) nell'intervallo di celle specificato, situato nella nona posizione. | 9 |
=CONFRONTA(A3; A1:M1; A4)
dove le celle A3 e A4 contengono rispettivamente la stringa "jack" (senza virgolette) e il numero 0. |
Cerca esattamente "jack" (senza virgolette, non con distinzione tra maiuscole e minuscole) nell'intervallo di celle specificato. | 9 |
=CONFRONTA("K*"; A1:M1; 0)
con i caratteri jolly abilitati. |
Cerca un valore che corrisponda esattamente all'espressione nell'intervallo di celle specificato, trovando la stringa "King" nella seconda voce. | 2 |
=CONFRONTA("^Q.*"; A1:M1; 0)
con espressioni regolari abilitate. |
Cerca un valore che corrisponda esattamente all'espressione regolare "^Q.* " nell'intervallo di celle specificato, trovando la stringa "Queen" nella tredicesima voce.
|
13 |
=CONFRONTA("(?-i)^[Q]{1}[a-z]*$"; A1:M1; 0 )
con espressioni regolari abilitate. |
1="(?-i)^[Q]{1}[a-z]*$ "} } nell'intervallo di celle specificato, richiedendo la distinzione tra maiuscole e minuscole in questo caso, trovando la stringa "Queen" nella tredicesima voce.
|
13 |
=CONFRONTA("(?-i)^[q]{1}[a-z]*$"; A1:M1; 0 )
con espressioni regolari abilitate. |
1="(?-i)^[q]{1}[a-z]*$ "} } nell'intervallo di celle specificato, richiedendo la distinzione tra maiuscole e minuscole in questo caso, senza trovare una corrispondenza.
|
#N/D |
Nella seconda serie di esempi, si presuppone che le celle A1:A13 contengano i seguenti numeri e stringhe:
2, 3, 4, 5, 6, 7, 8, 9, 10, "Ace", "Jack", "King", "Queen"
(che rappresenta le 13 carte di un seme di un mazzo di carte da gioco,
inserito nell'ordine ascendente richiesto dalla funzione CONFRONTA negli esempi seguenti).
Le stringhe vengono inserite nelle rispettive celle senza virgolette.
Confronta i risultati con la serie di esempi precedente.
A | |
---|---|
1 | 2 |
2 | 3 |
3 | 4 |
4 | 5 |
5 | 6 |
6 | 7 |
7 | 8 |
8 | 9 |
9 | 10 |
10 | Ace |
11 | Jack |
12 | King |
13 | Queen |
Formula | Descrizione | Restituisce |
---|---|---|
=CONFRONTA(1; A1:A13) |
Poiché l'argomento Tipo viene omesso, viene assunto il valore predefinito |
#N/D |
=CONFRONTA(2,9; A1:A13; 1) | Cerca la posizione corrispondente al valore più grande nella matrice di ricerca che sia inferiore o uguale a 2,9. | 1 |
=CONFRONTA(23,5; A1:A13; 1) | La posizione corrispondente al valore più grande nella matrice di ricerca che è inferiore o uguale a 23,5. | 9 |
=CONFRONTA("Aardvark"; A1:A13; 1) | L'argomento Criterio di ricerca è in ordine alfabetico prima della prima stringa nell'elenco. | #N/D |
=CONFRONTA("King"; A1:A13; 1) | Cerca la posizione di "King" in Matrice di ricerca. | 12 |
=CONFRONTA("Zulu"; A1:A13; 1) |
"Zulu" non è stato trovato nella Matrice di ricerca. Cerca la posizione del valore nella Matrice di ricerca che risiede immediatamente prima del punto in cui apparirà "Zulu". |
13 |
Nella terza serie di esempi, si presuppone che le celle A1:A13 contengano i seguenti numeri e stringhe:
"Queen", "King", "Jack", "Ace", 10, 9, 8, 7, 6, 5, 4, 3, 2
(che rappresenta le 13 carte di un seme di un mazzo di carte da gioco,
inserito nell'ordine discendente richiesto dalla funzione CONFRONTA negli esempi seguenti).
Le stringhe vengono inserite nelle rispettive celle senza virgolette.
Confronta i risultati con la serie di esempi precedente.
A | |
---|---|
1 | Queen |
2 | King |
3 | Jack |
4 | Ace |
5 | 10 |
6 | 9 |
7 | 8 |
8 | 7 |
9 | 6 |
10 | 5 |
11 | 4 |
12 | 3 |
13 | 2 |
Formula | Descrizione | Restituisce |
---|---|---|
=CONFRONTA("Zulu"; A1:A13; -1) | L'argomento Criterio di ricerca si trova prima del valore iniziale nell'elenco. | #N/D |
=CONFRONTA("King"; A1:A13; -1) | Cerca la posizione di "King" in Matrice di ricerca. | 2 |
=CONFRONTA("Aardvark"; A1:A13; -1) |
"Aardvark" non è stato trovato nella Matrice di ricerca. Cerca la posizione del valore nella Matrice di ricerca che risiede immediatamente prima del punto in cui apparirà "Aardvark". |
4 |
=CONFRONTA(23,5; A1:A13; -1) | L'argomento Criterio di ricerca è maggiore del valore iniziale nell'elenco. | #N/D |
=CONFRONTA(2,9; A1:A13; -1) | La posizione del valore più piccolo nella Matrice di ricerca maggiore o uguale a 2,9. | 12 |
=CONFRONTA(1; A1:A13; -1) | La posizione del valore più piccolo nella Matrice di ricerca che è maggiore o uguale a 1 | 13 |
Funzioni di LibreOffice correlate:
Standard ODF:
Funzioni equivalenti (o simili) di Excel:
MATCH