Hoe maak je een FOR-lus in Excel met behulp van een formule (3 voorbeelden)

  • Deel Dit
Hugh West

Wilt u Excel VBA niet gebruiken en een FOR-lus In dit artikel heb ik laten zien hoe je in Excel met behulp van formules FOR-lus met behulp van formules.

Als je weet hoe je moet coderen met Excel VBA ben je gezegend 🙂 Maar, als je nooit code hebt geschreven in VBA of wilt u uw Excel werkmap vrijhouden van Excel VBA code, dan moet je meestal out of the box denken om een eenvoudige lus .

Werkend bestand downloaden

Download het werkbestand van de onderstaande link:

Lus maken met behulp van formules.xlsx

3 voorbeelden van FOR-lussen in Excel met behulp van formules

Hier zal ik demonstreren 3 voorbeelden te maken FOR-lus in Excel met behulp van een formule. Laten we de gedetailleerde voorbeelden bekijken.

1. Gecombineerde functies toepassen om een FOR-lus te maken in Excel

Laat me nu de achtergrond weten die me aanzet tot het schrijven van dit voorbeeld.

Ik ben de auteur van een aantal cursussen op Udemy. Een van de cursussen gaat over Excel voorwaardelijke opmaak. De titel van de cursus is: Leer voorwaardelijke opmaak in Excel met 7 praktische problemen. [ om gratis toegang te krijgen tot deze cursus, klik hier ].

In het discussiebord van de cursus stelde een student mij een vraag zoals hieronder [screenshot afbeelding].

Vraag gesteld door een student in Udemy.

Lees de bovenstaande vraag zorgvuldig en probeer hem op te lossen...

Stappen om het bovenstaande probleem op te lossen:

Hier gebruik ik OF , OFFSET , MAX , MIN en ROW functies als Excel-formule om een FOR-lus .

  • Eerst moet u een nieuwe werkmap openen en de bovenstaande waarden één voor één invoeren in het werkblad [begin bij cel C5 ].
  • Selecteer ten tweede het hele bereik [van cel C5:C34 ].
  • Ten derde, van de Home lint>> klik op de Voorwaardelijke opmaak commando.
  • Selecteer ten slotte de Nieuwe regel optie uit het keuzemenu.

Op dit moment, Nieuwe opmaakregel dialoogvenster verschijnt.

  • Nu, in de Selecteer een type regel venster>> selecteer Gebruik een formule om te bepalen welke cellen moeten worden opgemaakt optie.
  • Dan, in de Formatteer waarden waar deze formule waar is veld deze formule in:
=OF(OFFSET(C5,MAX(RIJ(C$5)-RIJ(C5)+3,0),0,MIN(RIJ(C5)-RIJ(C$5)+1,4),1)-OFFSET(C5,MAX(RIJ($C$5)-RIJ(C5),-3),0,MIN(RIJ(C5)-RIJ(C$5)+1,4),1)=3)

  • Selecteer nu het juiste formaattype door te klikken op de knop Formaat... knop in het dialoogvenster.

Op dat moment verschijnt er een dialoogvenster met de naam Cellen opmaken zal verschijnen.

  • Nu, van de Vul optie>> je moet een van de kleuren kiezen. Hier heb ik gekozen voor de Lichtblauw achtergrond. Ook kun je de voorbeeld direct. Probeer in dit geval een licht Omdat de donkere kleur de ingevoerde gegevens kan verbergen. Dan moet je misschien de Letterkleur .
  • Vervolgens moet u op OK om de formatie toe te passen.

  • Daarna moet u op OK op de Nieuwe opmaakregel dialoogvenster. Hier ziet u het voorbeeld direct in de Voorbeeld doos.

Tenslotte krijgt u de opgemaakte getallen.

Laat me je het algoritme tonen om bovenstaand probleem op te lossen:

  • Om het algoritme gemakkelijk te begrijpen, leg ik het geheel uit aan de hand van twee referentiecellen: cellen C11 en C17 . in cellen C11 en C17 de waarden zijn 10 en 20 respectievelijk (bovenstaande afbeelding). Als u gewend bent aan Excel-formules, dan ruikt u de OFFSET functie, zoals OFFSET functie werkt met referentiepunten.
  • Stel nu dat ik de waarden neem van de celbereiken C8:C11 & C11:C14 en C14:C17 & C17: C20 naast elkaar [afbeelding hieronder]. Referentiecellen zijn C11 en C17 en ik neem in totaal 7 cellen rond de referentiecel. Je krijgt dan een denkbeeldig plaatje als het volgende. Uit het eerste deel kun je een patroon afleiden. C9-C12=3 , C10-C13=3 Maar voor het tweede deel is er geen patroon.

  • Laten we dus het algoritme bouwen met het bovenstaande patroon in gedachten. Voordat we de gemeenschappelijke formule bouwen, zal ik laten zien wat de formules zullen zijn voor de cellen C11 en C17 en zal dan de formule aanpassen om deze voor iedereen gemeenschappelijk te maken. Voor een referentiepunt (zoals C11 of C17 ), zal ik in totaal 7 cellen eromheen (inclusief het referentiepunt) en plaats ze naast elkaar in de formule waardoor arrays ontstaan. Dan zal ik het verschil van de arrays vinden als een van de verschillen gelijk is aan 3 dat de referentiecel WARE gewaardeerd.
  • Hier kan ik dat gemakkelijk doen met de OFFSET functie als de OFFSET functie geeft een array terug. Zeg voor celverwijzing C11 kan ik de formule zo schrijven: =OF(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Wat levert deze formule op? De eerste offset-functie van de formule levert een array op: {10; 11; 12; 15} De tweede offset-functie zal array {5; 8; 9; 10} En je weet {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Wanneer deze array logisch getest wordt met =3 dan rekent Excel intern als volgt: {5=3; 3=3; 3=3; 5=3} = {False; True; True; False} Wanneer de OF functie wordt toegepast op deze matrix: OR({False; True; False; True} krijg je WARE Dus cel C11 krijgt ware waarden terug.
  • Dus, ik denk dat je het hele concept hebt van hoe dit algoritme gaat werken. Nu is er een probleem. Deze formule kan werken vanuit cel C8 , boven cel C8 zijn er 3 cellen. Maar voor cellen C5, C6, en C7 kan deze formule niet werken. Dus de formule moet worden aangepast voor deze cellen.
  • Nu, voor de cellen C5 naar C7 willen we dat de formule geen rekening houdt met de bovenste 3 cellen. Bijvoorbeeld, voor cel C6 zal onze formule niet zijn zoals de formule voor cel C11 : =OF(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Hier, voor cel C5 dan is de formule als volgt: OF(OFFSET(C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • Dan, voor cel C6 dan is de formule als volgt: OF(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Daarna, voor cel C7 dan is de formule als volgt: OF(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Nogmaals, voor cel C8 dan is de formule als volgt: OF(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [dit is de algemene formule].
  • Dan, voor cel C9 dan is de formule als volgt: OF(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [dit is de algemene formule].
  • Vindt u tenslotte enkele patronen in bovenstaande formules? De eerste OFFSET Het argument rijen van de functie is afgenomen van 3 naar 0 het hoogte-argument is toegenomen van 1 naar 4 De tweede OFFSET Het argument rijen van de functie is afgenomen van 0 naar -3 en hoogte argument is toegenomen van 1 naar 4 .
  • Ten eerste, de eerste OFFSET Het argument rijen van de functie wordt als volgt gewijzigd: MAX(RIJ(C$5)-RIJ(C5)+3,0)
  • Ten tweede, de tweede OFFSET Het argument rijen van de functie wordt als volgt gewijzigd: MAX(RIJ(C$5)-RIJ(C5),-3)
  • Ten derde, de Eerste OFFSET Het hoogte-argument van de functie wordt als volgt gewijzigd: MIN(RIJ(C5)-RIJ(C$5)+1,4)
  • Ten vierde, de tweede OFFSET Het hoogte-argument van de functie wordt als volgt gewijzigd: MIN(RIJ(C5)-RIJ(C$5)+1,4)
  • Nu, probeer de bovenstaande wijziging te begrijpen. Deze zijn niet zo moeilijk te begrijpen. Al deze vier wijzigingen werken als VOOR LOOP van Excel VBA, maar ik heb ze gebouwd met Excel Formules.
  • Dus, je hebt de manieren waarop de algemene formule werkt voor de cellen van C5:C34 .

Ik had het over lussen in Excel spreadsheets. Dit is een perfect voorbeeld van lussen in Excel. Hier, elke keer als de formule 7 cellen en bewerkt de cellen om een specifieke waarde te achterhalen.

2. Gebruik van IF & OR-functies om FOR-lus in Excel te maken

In dit voorbeeld, stel dat u wilt controleren of de cellen waarden bevatten of niet. Bovendien kunt u met Excel VBA FOR Loop, kunt u dit gemakkelijk doen, maar hier doe ik dat met een Excel-formule.

Nu kunt u de ALS en de OF functies als Excel-formule om FOR-lus Verder kunt u deze formule naar eigen voorkeur aanpassen. De stappen staan hieronder.

Stappen:

  • Eerst moet u een andere cel selecteren E5 waar u de Status .
  • Ten tweede moet u de overeenkomstige formule in de E5 cel.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • Druk vervolgens op ENTER om het resultaat te krijgen.

Formuleverdeling

Hier is de OF zal de functie WARE als een van de gegeven logica WARE .

  • Ten eerste, B5="" is de 1e logica, die zal controleren of de cel B5 enige waarde bevat of niet.
  • Ten tweede, C5="" is de 2e logica, die zal controleren of de cel C5 enige waarde bevat of niet.
  • Ten derde, D5="" is de 3e logica. Zo ook, die zal controleren of de cel D5 enige waarde bevat of niet.

Nu, de ALS functie geeft het resultaat dat voldoet aan een gegeven voorwaarde.

  • Wanneer de OF functie geeft WARE dan krijg je " Info vermist "als Status Anders krijg je " Gedaan " als de Status .
  • Daarna moet u de Vulgreep pictogram naar AutoFill de overeenkomstige gegevens in de rest van de cellen E6:E13 . Of u kunt dubbelklikken op de Vulgreep icoon.

Uiteindelijk krijg je alle resultaten.

3. De SUMIFS-functie gebruiken om een FOR-lus in Excel te maken

Stel, u wilt de totale rekening maken voor een bepaalde persoon. In dat geval kunt u de FOR-lus met behulp van de Excel-formule. Hier gebruik ik de SUMIFS-functie om de FOR-lus De stappen staan hieronder.

Stappen:

  • Eerst moet u een andere cel selecteren F7 waar u de Status .
  • Ten tweede moet u de overeenkomstige formule in de F7 cel.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • Druk vervolgens op ENTER om het resultaat te krijgen.

Formuleverdeling

  • Hier, $C$5:$C$13 is het gegevensbereik waaruit de SUMIFS functie doet de optelling.
  • Dan, $B$5:$B$13 is het gegevensbereik van waar de SUMIFS functie zal de gegeven criteria controleren
  • Eindelijk, E7 is het criterium.
  • Dus, de SUMIFS functie zal de betalingen toevoegen voor de E7 celwaarde.
  • Daarna moet u de Vulgreep pictogram om de overeenkomstige gegevens in de rest van de cellen automatisch in te vullen F8:F10 .

Uiteindelijk krijg je het resultaat.

Conclusie

We hopen dat u dit artikel nuttig vond. Hier hebben we uitgelegd 3 geschikte voorbeelden te maken FOR-lus in Excel met behulp van formules. U kunt onze website bezoeken Exceldemy Als u opmerkingen, suggesties of vragen heeft, kunt u die hieronder kwijt.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.