Ricerca nel sito web

ROW vs. ROWS in Excel: Qual è la differenza?


Non lasciare che quella lettera "S" in più ti inganni: ROW e ROWS fanno lavori completamente diversi in Excel. Una ti dice dove ti trovi, mentre l'altra ti dice quanto spazio hai. Se sei stanco che le formule si rompano quando elimini una riga, è il momento di padroneggiare la differenza tra questi due strumenti.

La differenza fondamentale: Posizione vs. dimensione

A prima vista, l'unica differenza tra le funzioni ROW e ROWS è una singola lettera. In pratica, tuttavia, svolgono due compiti molto diversi. Per tenerle distinte, è sufficiente ricordare una distinzione: posizione contro dimensione.

  • RIGA è una coordinata. Ti dice esattamente dove si trova una cella sulla griglia del foglio di calcolo.
  • RIGHE è una misura. Ti indica quanto è alta una serie di celle.

La sintassi

Prima di mostrarti entrambe le funzioni in azione, ecco come sono costruite.

La funzione RIGA ha un argomento riferimento opzionale:

=ROW([reference])

Se lasci le parentesi vuote, restituisce il numero di riga della cella corrente. Se fai riferimento a una singola cella, restituisce quel numero di riga, e nelle versioni moderne di Excel, facendo riferimento a un intervallo di celle, viene generata una lista di tutti quei numeri di riga nelle celle sottostanti.

Con ROWS, è richiesto il singolo argomento array:

=ROWS(array)

Quando fornisci un intervallo o il nome di una tabella, conta il numero totale di righe in quel blocco.

ROW: Un esempio reale

La funzione RIGA di Excel è la scelta principale quando l'indirizzo dei dati è più importante dei dati stessi. Supponiamo di avere questa tabella di Excel formattata, chiamata T_Tasks, e che tu sposti manualmente i compiti ad alta priorità in cima.

Se digiti manualmente i numeri nella colonna Priorità, essi sono "appiccicosi". Supponiamo che tu selezioni il compito 2240 e lo sposti in cima: la numerazione della Priorità ora parte da 6 invece che da 1.

Invece, puoi usare la funzione RIGA per dire a Excel di guardare la posizione nella griglia:

=ROW()-1

ROW considera l'intera griglia del foglio di calcolo, non solo la tua tabella. Poiché la tabella inizia dalla riga 2, e non dalla riga 1, sottrarre 1 compensa il conteggio della griglia, così il tuo primo compito viene visualizzato correttamente come priorità n. 1.

Di conseguenza, la prima riga della colonna Priorità conterrà sempre il numero 1, anche quando trascini il compito 2240 in cima.

Questa è una soluzione rapida ottima per elenchi di base, ma come spiegherò più avanti, fare affidamento sulla griglia del foglio di calcolo può causare problemi se la tua tabella dovesse mai essere spostata.

RIGHE: un esempio concreto

Mentre ROW guarda una singola coordinata di Excel, ROWS guarda l'intero contenitore. Immagina di voler visualizzare il numero totale di attività attualmente presenti in T_Tasks in una cella indipendente nella parte superiore del tuo foglio di lavoro.

Per mantenere questa formula a prova di errore, usa RIGHE e un riferimento strutturato:

=ROWS(T_Tasks[Task])

Questa formula chiede semplicemente alla tabella: "Quante righe ci sono nella colonna Task?"

La trappola delle celle vuote di COUNTA

Qui è dove molte persone spesso inciampano. Potresti essere tentato di usare:

=COUNTA(T_Tasks[Task])

ma COUNTA ha un problema principale: conta solo le celle che contengono dati. Supponiamo che tu aggiunga una nuova riga alla tua tabella ma non abbia ancora deciso il numero del task, quindi lasci quella cella vuota. COUNTA salta la cella vuota. Di conseguenza, il tuo conteggio risulta effettivamente di un task in meno.

Tuttavia, ROWS non si interessa a ciò che c'è dentro la cella: si preoccupa solo che la riga esista all'interno dei confini della tabella. Quindi, riporta correttamente la nuova riga.

Confessione: ROWS può fare ciò che fa ROW (ma meglio)

Finora ho ripetuto che queste due funzioni sono diverse, e questo è per lo più vero. Tuttavia, in realtà puoi usare ROWS per fare il lavoro della funzione ROW, ma in modo molto più affidabile.

In precedenza, usavo =ROW()-1 per creare una lista di priorità, ma quel metodo ha una grande debolezza: è legato rigidamente alla griglia fisica. In altre parole, se decidi di spostare la tua tabella T_Tasks di qualche riga per fare spazio a una nuova dashboard o a un titolo, la formula si rompe. Poiché è legata alle coordinate della griglia, il tuo primo compito non è più 1, ma 5.

Per risolvere questo, dovresti tornare indietro manualmente e aggiornare il calcolo a -5.

Utilizzando un riferimento strutturato in espansione con ROWS, rendi il tuo contatore indipendente dalla griglia:

=ROWS(T_Tasks[#Headers]:[@Task])-1

Questo indica a Excel di misurare la distanza a partire dalla riga sotto l'intestazione fino al fondo.

Poiché misura l'altezza della tabella anziché i numeri delle righe del foglio di calcolo, il tuo elenco inizierà sempre da 1. Puoi spostare la tabella e i numeri di priorità resteranno sempre intatti.

Quindi, ROW è completamente inutile?

Dopo aver visto quanto sia più stabile ROWS per la numerazione e il conteggio, potresti chiederti se dovresti mai usare la funzione singolare ROW. In effetti, ROW è ideale quando hai bisogno di interagire direttamente con la griglia.

Ecco due esempi:

  • Costruire incrementi matematici: ROW è il motore più semplice per le formule che devono cambiare in base alla loro posizione sulla griglia. Ad esempio, se stai creando un programma in cui un valore deve aumentare di cinque unità per ogni riga fisica in cui scende nel foglio, ROW funge da contatore integrato.
  • Riferimento indiretto: Gli utenti esperti spesso utilizzano ROW all'interno di funzioni più complesse come INDIRECT o ADDRESS. Se stai cercando di creare un riferimento a una cella in modo dinamico—diciamo a Excel di guardare una cella tre righe più in basso e due colonne a destra—la funzione ROW fornisce la coordinata grezza necessaria per fare i calcoli.

Casi d'uso avanzati: ROW e ROWS in formule più complesse

Una volta che comprenderai il concetto base di mappa vs. righello, inizierai a vedere queste funzioni comparire all'interno di formule più potenti. Ecco alcuni esempi di casi d'uso professionali:

Obiettivo

Esempio di formula

Cosa fa

Numerazione dinamica

=SEQUENZA(RIGHE(T_Tasks))

Genera un elenco perfetto di numeri da 1 fino alla fine della tabella. Se la tabella cresce, i numeri appaiono automaticamente.

Ricerca per posizione

=INDICE(T_Tasks[Task], RIGHE(T_Tasks))

Trova rapidamente l'ultimo elemento della tua lista misurando l'altezza totale e indicando a INDEX di guardare quell'ultima riga.

Estrazione

=PICCOLO(SE(T_Tasks[Status]="Review",RIGA(T_Tasks[Status])-1),1)

Usa ROW per trovare la posizione di ogni attività da revisionare, quindi sceglie la prima.

Inversione colonna-riga

=INDICE($A$1:$Z$1,RIGA(A1))

Un trucco intelligente per trasformare i dati orizzontali in verticali. Man mano che trascini la formula verso il basso, essa estrae i dati da sinistra a destra su un'unica riga.


Distinguere tra le funzioni di Excel che sembrano simili in superficie è fondamentale per fare in modo che il software faccia ciò che desideri. Ad esempio, potresti pensare che XMATCH e MATCH facciano la stessa cosa, ma gestiscono le modalità di ricerca e i valori predefiniti in modo molto diverso. Allo stesso modo, mentre XLOOKUP e VLOOKUP trovano entrambi i dati, XLOOKUP è molto più robusto perché non si interrompe quando inserisci delle colonne. Lo stesso vale per ROW e ROWS: scegliere tra di essi fa la differenza tra identificare una posizione fissa su una griglia e misurare le dimensioni effettive dei tuoi dati.

Articoli correlati