Come creare un ciclo FOR in Excel usando la formula (3 esempi)

  • Condividi Questo
Hugh West

Non si vuole utilizzare Excel VBA e si vuole creare un'applicazione ciclo FOR In questo articolo, ho mostrato come è possibile fare ciclo FOR utilizzando formule.

Se sapete come codificare con Excel VBA siete benedetti 🙂 Ma, se non avete mai scritto codice in VBA o se si vuole mantenere la cartella di lavoro di Excel libera da Excel VBA codice, allora la maggior parte delle volte bisogna pensare fuori dagli schemi per creare un semplice anello .

Scarica il file di lavoro

Scaricate il file di lavoro dal link sottostante:

Creare un loop utilizzando le formule.xlsx

3 esempi per creare un ciclo FOR in Excel utilizzando la formula

Qui dimostrerò 3 esempi da fare ciclo FOR in Excel utilizzando una formula. Vediamo gli esempi dettagliati.

1. Applicazione di funzioni combinate per creare cicli FOR in Excel

Ora, fatemi conoscere il contesto che mi spinge a scrivere questo esempio.

Sono l'autore di alcuni corsi su Udemy. Uno dei corsi è sulla formattazione condizionale di Excel. Il titolo del corso è: Imparate la formattazione condizionale di Excel con 7 problemi pratici. [ per ottenere l'accesso gratuito a questo corso, fare clic qui ].

Nel forum di discussione del corso, uno studente mi ha posto una domanda come quella che segue [screenshot immagine].

Domanda posta da uno studente di Udemy.

Leggete attentamente la domanda qui sopra e cercate di risolverla...

Passi per risolvere il problema di cui sopra:

Qui, utilizzerò O , OFFSET , MAX , MIN , e FILO funzioni come Formula di Excel per creare un ciclo FOR .

  • Per prima cosa, il vostro compito è quello di aprire una nuova cartella di lavoro e inserire i valori sopra indicati uno per uno nel foglio di lavoro [a partire dalla cella C5 ].
  • In secondo luogo, selezionare l'intero intervallo [dalla cella C5:C34 ].
  • In terzo luogo, dal Casa fare clic sulla barra multifunzione Formattazione condizionale comando.
  • Infine, selezionare la voce Nuova regola dall'elenco a discesa.

In questo momento, Nuova regola di formattazione viene visualizzata la finestra di dialogo

  • Ora, nel Selezionare un tipo di regola selezionare Utilizzate una formula per determinare quali celle formattare opzione.
  • Poi, nel Formatta i valori in cui questa formula è vera digitare questa formula:
=O(OFFSET(C5,MAX(RIGA(C$5)-RIGA(C5)+3,0),0,MIN(RIGA(C5)-RIGA(C$5)+1,4),1)-OFFSET(C5,MAX(RIGA($C$5)-RIGA(C5),-3),0,MIN(RIGA(C5)-RIGA(C$5)+1,4),1)=3)

  • A questo punto, selezionare il tipo di formato appropriato facendo clic sul pulsante Formato... nella finestra di dialogo.

A questo punto, una finestra di dialogo denominata Formattare le celle apparirà.

  • Ora, dal Riempimento si deve scegliere uno qualsiasi dei colori. In questo caso, ho selezionato il colore Azzurro Inoltre, è possibile vedere il campione istantaneamente. In questo caso, provare a scegliere qualsiasi luce Perché il colore scuro potrebbe nascondere i dati inseriti. Quindi, potrebbe essere necessario cambiare il colore Colore del carattere .
  • Quindi, è necessario premere OK per applicare la formazione.

  • Dopodiché, è necessario premere OK sul Nuova regola di formattazione Qui si può vedere il campione istantaneamente nella finestra di dialogo Anteprima scatola.

Infine, si otterranno i numeri formattati.

Vi mostrerò l'algoritmo per risolvere il problema di cui sopra:

  • Qui, per farvi capire facilmente l'algoritmo, vi spiegherò il tutto con due celle di riferimento: le celle C11 e C17 . In celle C11 e C17 , i valori sono 10 e 20 rispettivamente (immagine sopra). Se siete abituati alle formule di Excel, potete sentire l'odore delle formule di OFFSET funzione, come OFFSET funziona con i punti di riferimento.
  • Ora, immaginiamo di prendere i valori degli intervalli di celle C8:C11 & C11:C14 , e C14:C17 & C17: C20 affiancate [immagine sotto]. Le celle di riferimento sono C11 e C17 e sto prendendo un totale di 7 Si otterrà un'immagine immaginaria come la seguente. Dalla prima parte, è possibile trovare un modello nell'immagine. C9-C12=3 , C10-C13=3 Per la seconda parte, invece, non esiste alcuno schema.

  • Quindi, costruiamo l'algoritmo tenendo presente lo schema di cui sopra. Prima di costruire la formula comune, mostrerò quali saranno le formule per le celle C11 e C17 e poi modificherà la formula per renderla comune a tutti. Per un punto di riferimento (ad esempio C11 o C17 ), prenderò un totale di 7 celle intorno ad esso (compreso il punto di riferimento) e metterle una accanto all'altra nella formula creando degli array. Poi scoprirò la differenza degli array se una qualsiasi delle differenze è uguale a 3 che la cella di riferimento sarà VERO valutato.
  • Qui, posso farlo facilmente utilizzando l'opzione OFFSET come la funzione OFFSET La funzione restituisce un array. Diciamo per il riferimento alla cella C11 Posso scrivere la formula in questo modo: =O(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Cosa restituirà questa formula? La prima funzione di offset della formula restituirà un array: {10; 11; 12; 15} La seconda funzione di offset restituirà l'array {5; 8; 9; 10} . e sai che {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Quando questo array viene testato logicamente con =3 allora Excel calcola internamente in questo modo: {5=3; 3=3; 3=3; 5=3} = {Falso; Vero; Vero; Falso} . quando il O viene applicata a questa matrice: OR({Falso; Vero; Falso; Vero} , si ottiene VERO . Quindi cella C11 ottiene i valori veri come ritorno.
  • Quindi, credo che abbiate capito il concetto di funzionamento di questo algoritmo. Ora c'è un problema: questa formula può funzionare dalla cella C8 , sopra la cella C8 , ci sono 3 Ma per le cellule C5, C6, e C7 Questa formula non può funzionare, quindi la formula deve essere modificata per queste celle.
  • Ora, per le cellule C5 a C7 vogliamo che la formula non prenda in considerazione il valore superiore di 3 Ad esempio, per la cella C6 la nostra formula non sarà come quella della cella C11 : =O(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Qui, per la cella C5 , la formula sarà come: O(OFFSET(C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • Poi, per la cella C6 , la formula sarà come: O(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Successivamente, per le cellule C7 , la formula sarà come: O(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Anche in questo caso, per le cellule C8 , la formula sarà come: O(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [questa è la formula generale].
  • Poi, per la cella C9 , la formula sarà come: O(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [questa è la formula generale].
  • Infine, trovate qualche schema nelle formule precedenti? Il primo OFFSET L'argomento righe della funzione è diminuito da 3 a 0 ; l'argomento altezza è aumentato da 1 a 4 Il secondo OFFSET L'argomento righe della funzione è diminuito da 0 a -3 e l'argomento altezza è aumentato da 1 a 4 .
  • In primo luogo, il primo OFFSET l'argomento righe della funzione sarà modificato in questo modo: MAX(RIGA(C$5)-RIGA(C5)+3,0)
  • In secondo luogo, il secondo OFFSET l'argomento righe della funzione sarà modificato in questo modo: MAX(RIGA(C$5)-FILA(C5),-3)
  • In terzo luogo, la Prima OFFSET l'argomento altezza della funzione sarà modificato in questo modo: MIN(RIGA(C5)- RIGA(C$5)+1,4)
  • Quarto, il secondo OFFSET l'argomento altezza della funzione sarà modificato in questo modo: MIN(RIGA(C5)- RIGA(C$5)+1,4)
  • Ora, cercate di capire le modifiche di cui sopra, che non sono poi così difficili da comprendere. Tutte queste quattro le modifiche funzionano come PER LOOP di Excel VBA, ma li ho costruiti con le formule di Excel.
  • Quindi, si è capito come funziona la formula generale per le celle da C5:C34 .

Stavo parlando del looping nei fogli di calcolo di Excel. Questo è un esempio perfetto di looping in Excel. Qui, ogni volta che la formula prende 7 e lavora sulle celle per trovare un valore specifico.

2. Uso delle funzioni IF e OR per creare un ciclo FOR in Excel

In questo esempio, supponiamo di voler controllare se le celle contengono o meno dei valori. Inoltre, con Excel VBA PER Il ciclo, si può fare facilmente, ma in questo caso lo farò utilizzando una formula di Excel.

Ora è possibile utilizzare il SE , e il O funzioni come formula di Excel per creare ciclo FOR Inoltre, è possibile modificare questa formula in base alle proprie preferenze. I passaggi sono riportati di seguito.

Passi:

  • Per prima cosa, è necessario selezionare una cella differente E5 dove si vuole vedere il Stato .
  • In secondo luogo, è necessario utilizzare la formula corrispondente nel file E5 cellulare.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • Successivamente, premere ENTRARE per ottenere il risultato.

Ripartizione della formula

Qui, il O restituirà la funzione VERO se una qualsiasi delle logiche date diventa VERO .

  • In primo luogo, B5="" è il 1a che verificherà se la cella B5 contiene o meno un valore.
  • In secondo luogo, C5="" è il 2a che verificherà se la cella C5 contiene o meno un valore.
  • Terzo, D5="" è il 3a Allo stesso modo, che verificherà se la cella D5 contiene o meno un valore.

Ora, il SE restituisce il risultato che soddisfa una determinata condizione.

  • Quando il O la funzione dà VERO allora si otterrà " Informazioni mancanti " come Stato Altrimenti, si otterrà " Fatto " come il Stato .
  • Successivamente, è necessario trascinare il file Maniglia di riempimento icona a Riempimento automatico i dati corrispondenti nel resto delle celle E6:E13 . Oppure si può fare doppio clic sul pulsante Maniglia di riempimento icona.

Infine, otterrete tutti i risultati.

3. Utilizzare la funzione SUMIFS per creare un ciclo FOR in Excel

Supponiamo di voler fare il conto totale per una certa persona. In questo caso, si può usare il comando ciclo FOR utilizzando la formula di Excel. In questo caso utilizzerò la funzione SUMIFS per creare il ciclo FOR in Excel. I passaggi sono indicati di seguito.

Passi:

  • Per prima cosa, è necessario selezionare una cella differente F7 dove si vuole vedere il Stato .
  • In secondo luogo, è necessario utilizzare la formula corrispondente nel file F7 cellulare.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • Successivamente, premere ENTRARE per ottenere il risultato.

Ripartizione della formula

  • Qui, $C$5:$C$13 è l'intervallo di dati da cui proviene il SUMIFS farà la somma.
  • Allora, $B$5:$B$13 è l'intervallo di dati a partire dal quale il SUMIFS La funzione controlla i criteri indicati
  • Infine, E7 è il criterio.
  • Quindi, il SUMIFS La funzione aggiungerà i pagamenti per l'elemento E7 valore della cella.
  • Successivamente, è necessario trascinare il file Maniglia di riempimento per riempire automaticamente i dati corrispondenti nelle altre celle. F8:F10 .

Infine, si otterrà il risultato.

Conclusione

Ci auguriamo che questo articolo vi sia stato utile e vi abbiamo spiegato 3 esempi adeguati per fare ciclo FOR in Excel utilizzando le formule. È possibile visitare il nostro sito web Exceldemy per approfondire i contenuti relativi a Excel. Se avete commenti, suggerimenti o domande da fare, scrivetele nella sezione commenti qui sotto.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.