Informazioni su come combinare le funzioni ROW() e ROUNDUP() di Microsoft Excel per creare una funzione seriale flessibile che restituisce gruppi di valori consecutivi.
Per quanto potente, non gestirà tutti gli elenchi seriali di cui hai bisogno. Supponiamo di aver bisogno di una serie in cui ogni valore seriale viene ripetuto n volte. Se n è 5, l’elenco sarebbe 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 e così via. In questo tutorial, ti mostrerò come combinare due semplici funzioni di Excel, ROW() e ROUNDUP(), per restituire una serie di n valori consecutivi.
Sto usando Microsoft 365 su un sistema Windows 10 a 64 bit, ma puoi utilizzare versioni precedenti. Microsoft Excel per il Web supporta entrambe le funzioni. Puoi scaricare i file .xls e .xlsx demo per questo tutorial di Excel.
Come utilizzare ROW() e ROUNDUP() insieme in Excel
L’espressione che useremo combina le funzioni ROW() e ROUNDUP() di Excel. Impariamo un po’ su queste due funzioni prima di usarle.
La funzione ROW() di Excel restituisce il numero di riga di un riferimento, utilizzando la sintassi ROW([reference])
in cui il riferimento è facoltativo. Se omesso, ROW() restituisce il numero di riga della cella corrente. Quando il riferimento è un intervallo verticale, ROW() restituisce i numeri di riga in un array verticale. Ad esempio, =ROW() inserito in C2 restituisce 2. Mentre ROW(D2:D5) restituirà i valori 2, 3, 4 e 5 in una colonna, come mostrato nella Figura A.
Figura A
RIGA() restituisce una matrice di valori uguale al numero di riga corrispondente.
Utilizzeremo anche la funzione ROUND() di Excel, che arrotonda un valore per eccesso da 0. Questa funzione utilizza la seguente sintassi ROUND(number, num_digits)
in cui Excel richiede entrambi gli argomenti. Il numero può essere qualsiasi numero reale o riferimento a un numero.
num_digits è il numero di cifre a cui vuoi arrotondare il numero. Ad esempio, la Figura B mostra questa funzione arrotondando per eccesso il numero 2 con vari valori decimali. Puoi modificare i risultati modificando l’argomento num_digits, che in questo caso è 1.
Figura B
Poiché num_digits è 1, ROUNDUP() restituisce una singola cifra decimale durante l’arrotondamento dei warrant. Se num_digits fosse 2, la funzione restituirebbe due cifre decimali ove garantito.
Nessuna di queste funzioni sembra supportare un elenco di valori seriali, ma combinati, è esattamente quello che fanno.
Come restituire un determinato numero di numeri consecutivi in Excel
Combinando ROW() e ROUND() con un paio di valori di input, puoi creare una funzione di numerazione consecutiva molto flessibile. Probabilmente hai già pensato di dividere per n, che fa parte della soluzione, ma da solo non funziona, come puoi vedere nella Figura C. In questo caso, n è 5, quindi 1/5 è .20 . 2/5 è .40 e così via.
Figura C
È qui che entra in gioco ROUNDUP(). La figura D mostra i risultati dell’utilizzo di ROUNDUP() sull’espressione semplice ROW()/n.
Figura D
Valutiamo l’espressione nella riga 1:
=ROUNDUP(ROW()/5,0)
=ROUNDUP(1/5,0)
=ROUNDUP(0.2,0)
1
L’argomento num_digit, 0 restituirà solo numeri interi e il numero intero più vicino a .2, arrotondando per eccesso è 1. Anche le righe da 1 a 5 restituiranno 1. Ora vediamo come viene valutata la funzione nella riga 6:
=ROUNDUP(ROW()/5,0)
=ROUNDUP(6/5,0)
=ROUNDUP(1.2,0)
2
L’espressione funziona come richiesto, ma non è sufficientemente flessibile perché restituisce sempre un insieme di 5 valori seriali. Fortunatamente, possiamo risolverlo aggiungendo valori di input.
Come aggiungere valori di input per rendere l’espressione più flessibile in Excel
Finora, l’espressione restituisce interi consecutivi in gruppi di 5, ma cosa succede se si desidera modificare questa espressione in modo che n sia veramente n? L’aggiunta di un valore di input renderà questa espressione sufficientemente flessibile per gestire questa richiesta.
La figura E mostra la configurazione semplice. C1 è il valore di input per n. Quando C1 è vuoto, non accade nulla perché la funzione IFERROR() nasconde la divisione per 0 errore. Questa funzione non è necessaria, ma probabilmente non vorrai visualizzare un elenco di valori di errore: dipende da te.
Figure E
Inserendo 5 in C1, le espressioni in E1:E10 — =IFERROR(ROUNDUP(ROW()/$C$1,0),"")
— restituiscono i due gruppi di 1 e 2 che abbiamo visto in precedenza. Modificare il valore in C1 in 2 e l’espressione restituisce un elenco di cinque gruppi come mostrato nella Figura F. Se si immette 1 per n, l’espressione restituisce 1, 2, 3, 4 e così via.
Figura F
Il valore di input può essere qualsiasi numero intero, positivo o negativo.
Questo non è l’unico modo per ottenere un elenco di n valori consecutivi, ma è semplice e veloce.