Sommario
Oggi vorrei presentarvi Funzione OFFSET di Excel con 3 esempi reali.
Dapprima descriverò la sintassi della formula e poi parlerò di come la funzione OFFSET può essere utilizzata per risolvere problemi nella vita reale.
Introduzione
La funzione OFFSET può restituire un riferimento a una cella (chiamata cella di destinazione) o a un intervallo (intervallo di destinazione) che si trova a un determinato numero di righe e colonne di distanza da un'altra cella (cella di riferimento) o intervallo (intervallo di riferimento).
La figura seguente illustra come utilizzare la funzione OFFSET per restituire il riferimento a una cella (parte sinistra) o a un intervallo (parte destra).
In questo modo si avrà un'impressione intuitiva di cosa sia una cella di destinazione e di cosa sia una cella di riferimento.
La cella evidenziata in verde è una cella target, mentre le celle evidenziate in giallo sono costituite da un intervallo target.
Le celle evidenziate in blu sono celle di riferimento.
Figura 1
Che cosa significa OFFSET in Excel (sintassi)?
Ecco la sintassi della funzione Offset: OFFSET (riferimento, righe, colonne, [altezza], [larghezza])
Riferimento | Richiesto. Il riferimento è una cella o un intervallo di celle da cui inizia l'offset. Si noti che le celle devono essere adiacenti se si specifica un intervallo di celle. |
Righe | Richiesto Il numero di righe, in alto o in basso, della cella di riferimento o della cella superiore sinistra dell'intervallo di riferimento. Righe può essere positivo o negativo. Osservate la parte sinistra della Figura 1, la cella di destinazione sarà B2 se modifico la funzione come OFFSET (C3, -1, -1). B2 è una riga sopra C3. |
Cols | Richiesto. Il numero di colonne, a sinistra o a destra, della cella di riferimento o della cella in alto a sinistra dell'intervallo di riferimento. Come con Righe i valori di Cols può essere sia positiva che negativa. Come si può scrivere la funzione OFFSET se si imposta B4 come cella di riferimento e C3 come cella di destinazione? La risposta è OFFSET (B4, -1, 1). Qui si può notare che Cols è positivo e C3 è una colonna a destra di B4. |
Altezza | Opzionale. Utilizzare l'argomento Height solo se il target è un intervallo. Indica quante righe include l'intervallo di destinazione. Height deve essere un numero positivo. Dalla parte destra della Figura 1 si può notare che ci sono due righe nell'intervallo di destinazione. Pertanto, in questo caso, si imposta Height come 2. |
Larghezza | Opzionale. Utilizzare l'argomento Larghezza solo se il target è un intervallo (vedere la parte destra della Figura 1). Indica quante colonne contiene l'intervallo di destinazione. La larghezza deve essere un numero positivo. |
Ora vi mostrerò come utilizzare la funzione OFFSET per risolvere i problemi nella vita reale.
Caso 1: ricerca da destra a sinistra combinando le funzioni OFFSET e MATCH
È noto che è possibile eseguire una ricerca da sinistra a destra solo con la funzione VLOOKUP.
Il valore da cercare deve essere inserito nella prima colonna dell'array di tabelle.
Se si vuole aggiungere un nuovo valore di ricerca, è necessario spostare l'intero intervallo della tabella a destra di una colonna, oppure modificare la struttura dei dati se si desidera utilizzare un'altra colonna come valore di ricerca.
Tuttavia, combinando OFFSET con la funzione Match, è possibile eliminare la limitazione della funzione VLOOKUP.
Cos'è la funzione MATCH e come si può combinare la funzione OFFSET con la funzione Match per eseguire la ricerca?
La funzione Match cerca un elemento specificato in un intervallo di celle e restituisce la posizione relativa di tale elemento nell'intervallo.
Prendiamo come esempio l'intervallo B3:B8 della Figura 2.1 (che mostra le entrate di diversi Paesi in anni diversi).
La formula "=MATCH ("USA", B3:B8, 0)" restituirà 1 poiché USA è il primo elemento dell'intervallo (vedere le celle B10 e C10).
Per un altro intervallo C2:F2, la formula "=MATCH (2015, C2:F2, 0)" restituisce 3 poiché il 2015 è il terzo elemento dell'intervallo (vedere le celle B11 e C11).
Tornando alla funzione OFFSET.
Se impostiamo la cella B2 come cella di riferimento e prendiamo la cella E3 come cella di destinazione, come possiamo scrivere la formula OFFSET?
E3 è 1 riga sotto B2 e 3 colonne da destra a B2.
Pertanto, la formula può essere scritta come "=OFFSET(B2, 1 , 3 )". Osservate attentamente i numeri in rosso, riuscite a trovare una corrispondenza?
Questa è la risposta alla domanda - Come combinare la funzione OFFSET con la funzione Match -. La funzione Match può essere applicata come secondo o terzo argomento della funzione OFFSET. (vedi cella C13).
La cella C14 mostra come utilizzare la funzione VLOOKUP per recuperare gli stessi dati.
Prima di scrivere la funzione VLOOKUP, dobbiamo sapere che le entrate del 2015 sono registrate nella quarta colonna della tabella B2:F8.
Ciò significa che dobbiamo conoscere molto bene la struttura dei dati quando utilizziamo la funzione VLOOKUP.
Questa è un'altra limitazione di VLOOKUP. Tuttavia, utilizzando la funzione MATCH come argomento della funzione OFFSET, non è necessario conoscere l'indice della colonna.
È molto utile se ci sono molte colonne.
Figura 2.1
Passiamo ora a un esempio più complesso.
Supponiamo di avere una tabella contenente il nome della società, il nome del contatto e l'indirizzo e-mail di diverse aziende.
Vogliamo recuperare il nome dell'azienda da un nome di contatto noto o ottenere il nome di un contatto da un indirizzo e-mail noto. Cosa possiamo fare?
Nella Figura 2.2, l'intervallo B5:E8 contiene informazioni sulla società. Inserendo gli input nelle celle C2 e B3, con l'aiuto della formula nel quadrato rosso, posso recuperare il nome della società se conosco il nome del contatto.
L'intervallo D2:E4 mostra come ottenere un nome di contatto con un indirizzo e-mail noto.
In sintesi, questi due esempi illustrano che è possibile eseguire una ricerca da destra a sinistra e che il valore di ricerca non deve necessariamente essere collocato nella colonna più a destra. Qualsiasi colonna dell'array di tabelle può contenere il valore di ricerca.
Figura 2.2
Caso 2: Automatizzare il calcolo combinando le funzioni OFFSET e COUNT
Prima di spiegare come automatizzare i calcoli ogni volta che si aggiunge un nuovo numero in una colonna, vediamo come restituire automaticamente l'ultimo numero di una colonna.
Osservate la figura seguente che mostra le voci delle Risorse Umane. Supponiamo di voler ottenere l'ultimo numero della colonna B, la formula sarà "=OFFSET (C2, 9 , 0)" se si applica la funzione OFFSET.
Dalla formula, possiamo sapere che 9 è il numero della chiave.
Se siamo in grado di restituire automaticamente questo numero, possiamo individuare automaticamente l'ultimo numero di una colonna.
9 è solo il numero di celle che contengono numeri nella colonna C.
Se avete familiarità con la funzione COUNT, saprete che essa può contare il numero di celle che contengono numeri in un intervallo.
Ad esempio, la formula "=COUNT (C3:C11)" conterà il numero di celle che contengono numeri nelle celle da C3 a C11.
Nel nostro caso, vorremmo sapere quanti numeri ci sono in un'intera colonna, quindi si dovrebbe usare un riferimento come C:C che include tutte le righe della colonna C.
Osservate le celle G4 e H4, il numero restituito da "=COUNT(C:C)" è esattamente pari a 9 .
Pertanto, sostituendo 9 con COUNT(C:C) nella funzione OFFSET di cui sopra, possiamo ottenere una nuova formula "=OFFSET (C2, CONTE(C:C) , 0)" (nella cella H5).
Il numero restituito è 87000, che è esattamente l'ultimo numero della colonna C.
Passiamo ora al calcolo automatico. Supponiamo di volere il totale di tutti i numeri della colonna C.
La formula sarebbe "=SOMMA (OFFSET (C2, 1, 0.)", 9 , 1))" se si usa SUM insieme a OFFSET.
9 è il numero totale di righe nell'intervallo C3:C11 e anche il numero totale di celle contenenti numeri nella colonna C.
Pertanto, possiamo scrivere la formula in un modo nuovo come "=SOMMA (OFFSET (C2,1, 0, COUNT (C:C), 1))".
Osservando le celle G10 e H10, il numero totale di stipendi per questi 9 dipendenti è di 521.700 dollari.
Ora, se si inserisce un numero come 34.000 dollari nella cella C12, entrambi i numeri nelle celle G5 e G10 verranno modificati rispettivamente in 34.000 e 555.700 dollari.
Questa è la cosiddetta automazione, poiché non è necessario aggiornare le formule nelle celle G5 o G10.
È necessario prestare attenzione quando si utilizza la funzione COUNT, poiché essa restituisce solo il numero di celle che contengono numeri.
Ad esempio, "=COUNT (B: B)" restituisce 0 anziché 9, poiché nella colonna B non ci sono celle contenenti numeri (vedere le celle G3 e H3).
La colonna D comprende 10 celle contenenti numeri e il numero restituito da "COUNT (D: D)" è anch'esso 10.
Ma se vogliamo recuperare l'ultimo numero della colonna D come abbiamo fatto per la colonna C, otterremo il numero 0 (vedere le celle G8 e H8).
Ovviamente 0 non è quello che vogliamo. Cosa c'è che non va? La cella D13 è a 11 righe di distanza dalla cella D2 invece che a 10 righe.
Questo può essere dimostrato anche dalla formula "=OFFSET (D2, COUNT (D: D) + 1 , 0)" nella cella G7.
In sintesi, i numeri devono essere adiacenti se si vuole utilizzare la funzione COUNT insieme alla funzione OFFSET per automatizzare il calcolo.
Figura 3
Caso 3: Utilizzare la funzione OFFSET per creare un intervallo dinamico
Supponiamo di voler tracciare un grafico delle vendite mensili di un'azienda e la Figura 4.1 mostra i dati attuali e un grafico creato sulla base dei dati attuali.
Ogni mese, le unità di vendita del mese più recente saranno aggiunte sotto l'ultimo numero della colonna C.
Esiste un modo semplice per aggiornare automaticamente il grafico?
La chiave per aggiornare il grafico è utilizzare la funzione OFFSET per creare nomi di intervalli dinamici per la colonna Unità vendute.
L'intervallo dinamico per le vendite delle unità includerà automaticamente tutti i dati di vendita quando vengono inseriti nuovi dati.
Figura 4.1
Per creare una gamma dinamica, fare clic sul pulsante Formule e, quindi, scegliere Nome Manager o Definire il nome .
Sotto Nuovo nome Se si fa clic su Definire il nome .
Se si sceglie Nome manager è inoltre necessario fare clic su Nuovo per realizzare il seguente Nuovo nome appare la finestra di dialogo.
Figura 4.2
Nella sezione " Nome: Nella casella di immissione ", il nome dell'intervallo dinamico deve essere compilato. E nella casella " Si riferisce a:" Nella casella di input, dobbiamo digitare la formula OFFSET "=OFFSET (Figura4!$C$2, 1, 0, COUNT (!$C: $C), 1)" che genererà un intervallo dinamico di valori in base ai valori delle unità vendute digitati nella colonna C.
Per impostazione predefinita, un nome si applica all'intera cartella di lavoro e deve essere unico all'interno della cartella di lavoro.
Tuttavia, vogliamo limitare l'ambito a un foglio particolare.
Pertanto, abbiamo scelto la Figura 4 nella sezione " Ambito di applicazione: "Dopo aver fatto clic su OK , viene creata la gamma dinamica.
Include automaticamente tutti i dati di vendita man mano che vengono inseriti nuovi dati.
A questo punto, fare clic con il tasto destro del mouse su un punto qualsiasi del grafico e selezionare "Seleziona dati".
Figura 4.3
Nella richiesta Selezionare i dati Fonte, scegliere Serie1 e poi Modifica.
Figura 4.4
Quindi digitate "=Figura4!Unità" come mostra la Figura 4.5.
Figura 4.5
Infine, proviamo a digitare 11 nella cella C13. Si può notare che il grafico è cambiato e il valore 11 è stato incluso.
Il grafico cambia automaticamente quando vengono aggiunti nuovi dati.
Figura 4.6
Per saperne di più...
- Funzione Offset(...) in Excel con esempi
Scaricare i file di lavoro
Scaricate i file di lavoro dal link sottostante.
Excel-Funzione di offset.rar