Hvordan man laver FOR Loop i Excel ved hjælp af formel (3 eksempler)

  • Del Dette
Hugh West

Ønsker du ikke at bruge Excel VBA og ønsker at lave en FOR Loop i Excel ved hjælp af formel? I denne artikel har jeg vist, hvordan du kan lave FOR Loop ved hjælp af formler.

Hvis du ved, hvordan man koder med Excel VBA , er du velsignet 🙂. Men hvis du aldrig har skrevet kode i VBA eller ønsker at holde din Excel-arbejdsbog fri for Excel VBA kode, så skal man for det meste tænke ud af boksen for at skabe en simpel loop .

Download arbejdsfil

Download arbejdsfilen fra nedenstående link:

Lav et loop ved hjælp af formler.xlsx

3 eksempler på at lave FOR Loop i Excel ved hjælp af formel

Her vil jeg demonstrere 3 eksempler til at lave FOR Loop i Excel ved hjælp af en formel. Lad os se de detaljerede eksempler.

1. Anvendelse af kombinerede funktioner til at lave FOR Loop i Excel

Lad mig nu fortælle om baggrunden for, at jeg skriver dette eksempel.

Jeg er forfatter til nogle kurser på Udemy. Et af kurserne handler om Excel Conditional Formatting. Kursets titel er: Lær Excel betinget formatering med 7 praktiske problemer. [ for at få gratis adgang til dette kursus, klik her ].

I kursusdiskussionsforummet stillede en studerende mig et spørgsmål som nedenfor [skærmbillede].

Spørgsmål stillet af en studerende i Udemy.

Læs ovenstående spørgsmål omhyggeligt og prøv at løse det...

Trin til at løse ovenstående problem:

Her vil jeg bruge ELLER , OFFSET , MAX , MIN , og RÆKKE funktioner som Excel-formel til at oprette en FOR Loop .

  • Først skal du åbne et nyt regneark og indtaste ovenstående værdier en efter en i regnearket [start fra celle C5 ].
  • For det andet skal du vælge hele området [fra celle C5:C34 ].
  • For det tredje, fra den Hjem båndet>> klik på Betinget formatering kommando.
  • Endelig skal du vælge den Ny regel fra rullelisten.

På dette tidspunkt, Ny formateringsregel vises.

  • Nu, i den Vælg en regeltype vindue>> vælg Brug en formel til at bestemme, hvilke celler der skal formateres mulighed.
  • Derefter, i den Formater værdier, hvor denne formel er sand feltet, skriv denne formel:
=ELLER(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)

  • Vælg nu den relevante formattype ved at klikke på Format... knappen i dialogboksen.

På dette tidspunkt vises en dialogboks ved navn Formater celler vil blive vist.

  • Nu, fra den Fyld valgmulighed>> du skal vælge en hvilken som helst af farverne. Her har jeg valgt den Lyseblå baggrund. Du kan også se den prøve med det samme. Prøv i så fald at vælge en hvilken som helst lys Farve. Fordi den mørke farve kan skjule de indtastede data. Så kan du være nødt til at ændre den Farve på skrifttype .
  • Derefter skal du trykke på OK til at anvende formationen.

  • Herefter skal du trykke på OK på den Ny formateringsregel dialogboksen. Her kan du se eksemplet med det samme i Forhåndsvisning boks.

Til sidst får du de formaterede tal.

Lad mig vise dig algoritmen til at løse ovenstående problem:

  • For at gøre det nemt for dig at forstå algoritmen, vil jeg forklare det hele med to referenceceller: celler C11 og C17 . I celler C11 og C17 , værdierne er 10 og 20 (billedet ovenfor). Hvis du er vant til Excel-formler, så kan du lugte den OFFSET funktion, som OFFSET funktionen fungerer med referencepunkter.
  • Forestil dig nu, at jeg tager værdierne i celleintervallerne C8:C11 & C11:C14 , og C14:C17 & C17: C20 side om side [billedet nedenfor]. Referenceceller er C11 og C17 og jeg tager i alt 7 celler omkring referencecellen. Du får et imaginært billede som det følgende. Fra den første del kan du finde et mønster i billedet. C9-C12=3 , C10-C13=3 Men for den anden del findes der ikke noget sådant mønster.

  • Så lad os opbygge algoritmen med ovenstående mønster i baghovedet. Før vi opbygger den fælles formel, vil jeg vise, hvordan formlerne vil være for cellerne C11 og C17 og vil derefter ændre formlen, så den bliver fælles for alle. For et referencepunkt (som f.eks. C11 eller C17 ), tager jeg i alt 7 celler omkring det (inklusive referencepunktet) og placerer dem side om side i formlen og skaber arrays. Derefter skal jeg finde ud af forskellen mellem arraysene, hvis en af forskellene er lig med 3 at referencecellen vil være TRUE vurderet.
  • Her kan jeg nemt gøre det ved hjælp af OFFSET funktion som den OFFSET funktionen returnerer et array. Sige for cellereference C11 , kan jeg skrive formlen således: =ELLER(OFFSET(C11, 0, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Hvad returnerer denne formel? Den første offset-funktion i formlen returnerer array: {10; 11; 12; 15} , den anden offset-funktion vil returnere array {5; 8; 9; 10} . og du ved {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Når dette array testes logisk med =3 så beregner Excel internt på følgende måde: {5=3; 3=3; 3=3; 3=3; 5=3} = {Falsk; Sand; Sand; Sand; Falsk} . Når den ELLER funktionen anvendes på dette array: OR({Falsk; Sand; Falsk; Falsk; Sand} , får du TRUE . Så celle C11 får sande værdier som returneret.
  • Så jeg tror, at du har forstået hele konceptet for, hvordan denne algoritme vil fungere. Nu er der et problem. Denne formel kan fungere fra celle C8 , ovenstående celle C8 , er der 3 celler. Men for celler C5, C6, og C7 kan denne formel ikke fungere, så formlen skal ændres for disse celler.
  • For celler C5 til C7 , ønsker vi, at formlen ikke tager hensyn til den øvre 3 celler. For eksempel for celle C6 , vil vores formel ikke være som formlen for celle C11 : =ELLER(OFFSET(C11, 0, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Her, for celle C5 , vil formlen være som: ELLER(OFFSET(C5, 3, 0, 1, 1, 1)-OFFSET(C5, 0, 0, 0, 1, 1, 1)=3) .
  • For celle C6 , vil formlen være som: ELLER(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Derefter for celle C7 , vil formlen være som: ELLER(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Igen, for celle C8 , vil formlen være som: ELLER(OFFSET(C8, 0, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [dette er den generelle formel].
  • For celle C9 , vil formlen være som: ELLER(OFFSET(C9, 0, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [dette er den generelle formel].
  • Kan du endelig finde nogle mønstre i ovenstående formler? Den første OFFSET funktionens rows-argument er faldet fra 3 til 0 ; højdeargumentet er steget fra 1 til 4 . Den anden OFFSET funktionens rows-argument er faldet fra 0 til -3 og højdeargumentet er steget fra 1 til 4 .
  • For det første, den første OFFSET funktionens rows-argument ændres på følgende måde: MAX(RÆKKE(C$5)-RÆKKE(C5)+3,0)
  • For det andet, den anden OFFSET funktionens rows-argument ændres på følgende måde: MAX(RÆKKE(C$5)-RÆKKE(C5),-3)
  • For det tredje, den første OFFSET funktionens højdeargument ændres således: MIN(RÆKKE(C5)-RÆKKE(C$5)+1,4)
  • For det fjerde, den anden OFFSET funktionens højdeargument ændres således: MIN(RÆKKE(C5)-RÆKKE(C$5)+1,4)
  • Prøv nu at forstå ovenstående ændring. De er ikke så svære at forstå. Alle disse fire ændringer fungerer som FOR LOOP af Excel VBA, men jeg har bygget dem med Excel-formler.
  • Så du har fået forklaret, hvordan den generelle formel fungerer for cellerne fra C5:C34 .

Så jeg talte om Looping i Excel-regneark. Dette er et perfekt eksempel på looping i Excel. Hver gang formlen tager 7 celler og arbejder på cellerne for at finde en bestemt værdi.

2. Brug af IF & OR-funktioner til at oprette FOR Loop i Excel

I dette eksempel antager vi, at du vil kontrollere, om cellerne indeholder værdier eller ej. Desuden kan du med Excel VBA FOR Loop, Du kan nemt gøre det, men her vil jeg gøre det ved hjælp af en Excel-formel.

Nu kan du bruge IF , og den ELLER funktioner som Excel-formel til at oprette FOR Loop Du kan desuden ændre denne formel efter dine ønsker. Trinene er angivet nedenfor.

Trin:

  • For det første skal du vælge en anden celle E5 hvor du ønsker at se den Status .
  • For det andet skal du bruge den tilsvarende formel i E5 celle.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • Derefter skal du trykke på INDTAST for at få resultatet.

Opdeling af formler

Her er det ELLER funktion vil returnere TRUE hvis en af de givne logikker bliver TRUE .

  • For det første, B5="" er den 1. logik, som kontrollerer, om cellen B5 indeholder en værdi eller ej.
  • For det andet, C5="" er den 2. logik, som kontrollerer, om cellen C5 indeholder en værdi eller ej.
  • For det tredje, D5="" er den 3. logik. Tilsvarende, som kontrollerer, om cellen D5 indeholder en værdi eller ej.

Nu, den IF funktionen returnerer det resultat, der opfylder en given betingelse.

  • Når den ELLER funktion giver TRUE så får du " Manglende oplysninger " som Status Ellers vil du få " Udført " som den Status .
  • Herefter skal du trække den Håndtag til påfyldning ikon til AutoFill de tilsvarende data i resten af cellerne E6:E13 . Eller du kan dobbeltklikke på Håndtag til påfyldning ikon.

Til sidst får du alle resultaterne.

3. Brug af SUMIFS-funktionen til at oprette FOR Loop i Excel

Antag, at du ønsker at lave den samlede regning for en bestemt person. I så fald kan du bruge FOR Loop ved hjælp af Excel-formlen. Her vil jeg bruge funktionen SUMIFS til at oprette den FOR Loop i Excel. Trinene er angivet nedenfor.

Trin:

  • For det første skal du vælge en anden celle F7 hvor du ønsker at se den Status .
  • For det andet skal du bruge den tilsvarende formel i F7 celle.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • Derefter skal du trykke på INDTAST for at få resultatet.

Opdeling af formler

  • Her, $C$5:$C$13 er det dataområde, hvorfra SUMIFS funktionen vil foretage summeringen.
  • Derefter, $B$5:$B$13 er det dataområde, hvorfra SUMIFS funktionen kontrollerer de givne kriterier
  • Til sidst, E7 er kriterierne.
  • Så, den SUMIFS funktionen vil tilføje betalingerne for E7 celleværdi.
  • Herefter skal du trække den Håndtag til påfyldning ikonet for automatisk at udfylde de tilsvarende data i resten af cellerne F8:F10 .

Til sidst får du resultatet.

Konklusion

Vi håber, at du fandt denne artikel nyttig. Her har vi forklaret 3 passende eksempler til at lave FOR Loop i Excel ved hjælp af formler. Du kan besøge vores websted Exceldemy for at lære mere Excel-relateret indhold. Du kan skrive kommentarer, forslag eller spørgsmål, hvis du har nogen, i kommentarfeltet nedenfor.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.