Documentazione/Funzioni di Calc/CERCA.ORIZ
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Nome funzione:
CERCA.ORIZZ
Categoria:
Foglio di calcolo
Riepilogo:
Esegue una ricerca orizzontale su una tabella dati specificata. Confronta un dato valore di ricerca con le voci nella prima riga 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 riga 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 verticalmente, con valori di confronto nella prima colonna della tabella dati, utilizzare CERCA.VERT invece di CERCA.ORIZZ.
Sintassi:
CERCA.ORIZZ(Criterio di ricerca; Matrice; Indice[; Ricerca di intervalli ordinati])
Restituisce:
Restituisce il contenuto della cella che si trova nella stessa colonna della cella corrispondente, ma in una riga 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 riga di Matrice per determinare la colonna 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 riga contenente i dati da restituire. La prima riga ha il numero 1. Indice non deve essere maggiore del numero di righe 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 riga 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 riga di Matrice non siano ordinati e CERCA.ORIZZ 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 riga si presuppone che la Matrice sia ordinata e CERCA.ORIZZ può produrre corrispondenze "migliori" (esatte o inesatte).
Possono verificarsi le seguenti condizioni:
- Se Mesi non è numerico, CERCA.ORIZZ riporta un errore #VALORE!.
- Se Indice è un valore non intero, CERCA.ORIZZ lo tronca a un numero intero.
- Se, dopo qualsiasi troncamento, Indice è inferiore a 1 o maggiore del numero di righe contenute in Area, CERCA.ORIZZ segnala un valore non valido errore argomento (Err:502).
- Se Ricerca intervallo ordinato è VERO, ma le celle nella prima riga della tabella dati non sono ordinate come previsto, il risultato restituito da CERCA.ORIZZ è 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.ORIZZ 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 riga della tabella dati, quindi CERCA.ORIZZ segnala l'errore #N/D (valore non disponibile).
Dettagli aggiuntivi:
Dettagli specifici della funzione CERCA.ORIZZ
- Se Ricerca intervallo ordinato è FALSO e la prima riga della tabella contiene più celle con lo stesso contenuto, CERCA.ORIZZ corrisponderà solo alla prima cella (della prima riga in Area) di quelle che condividono contenuti comuni.
- Se Ricerca intervallo ordinato è VERO, è previsto che la prima riga della tabella dati sia ordinata con i numeri in ordine crescente visualizzati prima dei valori di testo in ordine alfabetico. Nel caso in cui la prima riga della tabella dati non sia ordinata come previsto, il risultato è imprevedibile. CERCA.ORIZZ calcola dove nella prima riga apparirà Criterio di ricerca nell'ordine ordinato (previsto).
- Se esiste una corrispondenza esatta tra Criterio di ricerca e una delle voci nella prima riga, quella colonna viene utilizzata per determinare il valore restituito.
- Se non esiste una corrispondenza esatta tra Criterio di ricerca e una qualsiasi delle voci nella prima riga, la colonna immediatamente prima dove Criterio di ricerca apparirà nella prima riga viene utilizzata la riga.
- Se le espressioni regolari sono abilitate nell'area Caratteri jolly formule di ▸ ▸ ▸ (o ▸ ▸ ▸ su macOS) finestra di dialogo, quindi CERCA.ORIZZ 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.ORIZZ 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.ORIZZ. Per impostazione predefinita, CERCA.ORIZZ 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), 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 è un esempio reale di una tabella non ordinata, che mostra i dati estratti dalla tavola periodica degli elementi chimici.
A | B | C | D | E | F | G | H | I | J | K | |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Elemento | Idrogeno | Elio | Litio | Berillio | Boro | Carbonio | Azoto | Ossigeno | Fluoro | Neon |
2 | Simbolo | H | He | Li | Be | B | C | N | O | F | Ne |
3 | Numero Atomico | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
4 | Massa Atomica Relativa | 1,008 | 4,003 | 6,94 | 9,012 | 10,81 | 12,011 | 14,007 | 15,999 | 18,998 | 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.ORIZZ cerca una corrispondenza esatta nella tabella non ordinata.
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.ORIZZ("Elio"; $B$1:$K$4; 2; 0) |
La funzione corrisponde alla stringa "Elio" nella prima riga della tabella dati (cella C1) e restituisce i dati dalla cella all'intersezione di questa colonna e la seconda riga della tabella (cella C2). Viene restituito il simbolo dell'elio. |
He |
=CERCA.ORIZZ("CARBONIO"; $B$1:$K$4; 3; 0) |
La funzione corrisponde alla stringa "CARBONIO" nella prima riga della tabella dati (cella G1) e restituisce i dati dalla cella all'intersezione di questa colonna e la terza riga della tabella (cella G3). Viene restituito il numero atomico del carbonio. |
6 |
=CERCA.ORIZZ("Ossigeno"; $B$1:$K$4; 4,6; 0) |
La funzione corrisponde alla stringa "Ossigeno" nella prima riga della tabella dati (cella I1) e restituisce i dati dalla cella all'intersezione di questa colonna e la quarta riga della tabella (cella I4) - l'Indice il valore di 4,6 viene troncato a 4. Viene restituita la massa atomica relativa dell'ossigeno. |
15,999 |
=CERCA.ORIZZ("Neon"; $B$1:$K$4; 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.ORIZZ("^bo.*"; $B$1:$K$4; 4; 0)
|
La funzione corrisponde all'espressione regolare "^bo.*" nella prima riga della tabella dati (cella F1) e restituisce i dati dalla cella all'intersezione di questa colonna e la quarta riga della tabella (cella F4). Viene restituita la massa atomica relativa del boro. |
10,81 |
=CERCA.ORIZZ("azo*"; $B$1:$K$4; 4; 0)
|
La funzione corrisponde all'espressione jolly "azo*" nella prima riga della tabella dati (cella H1) e restituisce i dati dalla cella all'intersezione di questa colonna e la quarta riga della tabella (cella H4). Viene restituita la massa atomica relativa dell'azoto. |
14,007 |
La seguente tabella mostra i dati di vendita per una piccola azienda. Quattro colonne (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 colonne (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 riga sono ordinati nell'ordine prescritto e quindi gli esempi che seguono non specificano un valore per l'argomento Ricerca intervallo ordinato, con CERCA.ORIZZ applicando il valore predefinito di VERO.
A | B | C | D | E | F | G | H | I | |
---|---|---|---|---|---|---|---|---|---|
1 | Categoria | 1 | 2 | 3 | 4 | E_reg | N_reg | S_reg | W_reg |
2 | Totale Vendite | $27 094 | $96 516 | $82 485 | $48 487 | $99 908 | $83 535 | $46 553 | $24 586 |
3 | Classifica Venditore | Samuel | Aaron | Pippa | Ollie | Lillian | George | Zara | Kristina |
Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.ORIZZ(0; $B$1:$I$3; 2) |
La funzione tenta di far corrispondere il numero 0 nella prima riga della tabella dati, ma poiché 0 è inferiore al primo numero (1) nella riga, la formula riporta #N/D errore. |
#N/D |
=CERCA.ORIZZ(2,5; $B$1:$I$3; 2) |
La funzione tenta di far corrispondere il numero 2,5 nella prima riga della tabella dati. Poiché 2,5 è maggiore di 2 e minore di 3, CERCA.ORIZZ utilizza il valore 2 (situato nella colonna C). La formula restituisce i dati dalla cella all'intersezione di questa colonna e la seconda riga della tabella (cella C2). Vengono restituite le vendite totali per il secondo trimestre. |
96516 |
=CERCA.ORIZZ(3; $B$1:$I$3; 2) |
La funzione corrisponde al numero 3 nella prima riga della tabella dati (cella D1) e restituisce i dati dalla cella all'intersezione di questa colonna e la seconda riga della tabella (cella D2).
Vengono restituite le vendite totali per il terzo trimestre.
Tieni presente che la formula |
82485 |
=CERCA.ORIZZ(123; $B$1:$I$3; 2) |
La funzione tenta di far corrispondere il numero 123 nella prima riga della tabella dati. Poiché 123 è maggiore degli (altri) numeri presenti, CERCA.ORIZZ utilizza la colonna E. La formula restituisce i dati dalla cella all'intersezione di questa colonna e la seconda riga della tabella (cella E2). Vengono restituite le vendite totali per il quarto trimestre. |
48487 |
=CERCA.ORIZZ("C_reg"; $B$1:$I$3; 3) |
La funzione tenta di far corrispondere la stringa "C_reg" nella prima riga della tabella dati, ma poiché "C_reg" è in ordine alfabetico prima del primo testo ("E_reg") nella riga, la formula riporta #N/D errore. |
#N/D |
=CERCA.ORIZZ("F_reg"; $B$1:$I$3; 3) |
La funzione tenta di far corrispondere la stringa "F_reg" nella prima riga della tabella dati. Poiché "F_reg" è in ordine alfabetico dopo "E_reg" ma prima di "N_reg", CERCA.ORIZZ utilizza il primo, situato nella colonna F. La formula restituisce i dati dalla cella all'intersezione di questa colonna e la terza riga della tabella (cella F3). Viene restituito il venditore principale per la regione "E_reg". |
Lillian |
=CERCA.ORIZZ("S_reg"; $B$1:$I$3; 3) |
La funzione corrisponde alla stringa "S_reg" nella prima riga della tabella dati (cella H1) e restituisce i dati dalla cella all'intersezione di questa colonna e la terza riga della tabella (cella H3). Viene restituito il venditore principale per la regione "S_reg". |
Zara |
=CERCA.ORIZZ("Zagreb"; $B$1:$I$3; 3) |
La funzione tenta di far corrispondere la stringa "Zagreb" nella prima riga della tabella dati. Poiché "Zagreb" è in ordine alfabetico dopo le altre stringhe presenti, CERCA.ORIZZ utilizza il valore che si trova per ultimo nell'elenco (colonna I). La formula restituisce i dati dalla cella all'intersezione di questa colonna e la terza riga della tabella (cella I3). 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 dell'array, mentre un punto e virgola viene utilizzato come separatore di riga dell'array. Questi separatori di array possono essere modificati tramite la sezione Separatori di
▸ ▸ ▸ (o ▸ ▸ ▸ su macOS ) dialogo.Formula | Descrizione | Restituisce |
---|---|---|
=CERCA.ORIZZ(5, {1, 2, 3, 4, 5, 6, 7; "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"}; 2) |
La funzione corrisponde al numero 5 nella prima riga della matrice e restituisce i dati dalla cella all'intersezione di questa colonna e la seconda riga della matrice. |
Venerdì |
Funzioni di LibreOffice correlate:
Standard ODF:
Funzioni equivalenti (o simili) di Excel:
HLOOKUP