Jak vytvořit smyčku FOR v aplikaci Excel pomocí vzorce (3 příklady)

  • Sdílet Toto
Hugh West

Nechcete používat Excel VBA a chcete vytvořit Smyčka FOR v Excelu pomocí vzorce? V tomto článku jsem ukázal, jak můžete vytvořit Smyčka FOR pomocí vzorců.

Pokud umíte kódovat v aplikaci Excel VBA , jste požehnáni 🙂. Ale pokud jste nikdy nepsali kód v jazyce VBA nebo chcete, aby váš sešit Excelu neobsahoval žádné VBA kód, pak většinou musíte přemýšlet jinak, abyste vytvořili jednoduchý kód. smyčka .

Stáhnout pracovní soubor

Stáhněte si pracovní soubor z níže uvedeného odkazu:

Vytvoření smyčky pomocí vzorců.xlsx

3 příklady na vytvoření smyčky FOR v aplikaci Excel pomocí vzorce

Zde vám ukážu. 3 příklady k vytvoření Smyčka FOR v aplikaci Excel pomocí vzorce. Podívejme se na podrobné příklady.

1. Použití kombinovaných funkcí pro vytvoření smyčky FOR v aplikaci Excel

Nyní mi řekněte, co mě přimělo napsat tento příklad.

Jsem autorem několika kurzů na Udemy. Jeden z nich se týká podmíněného formátování aplikace Excel. Název kurzu je: Naučte se podmíněné formátování aplikace Excel pomocí 7 praktických úloh. [ Chcete-li získat bezplatný přístup k tomuto kurzu, klikněte zde. ].

V diskuzním fóru kurzu mi jeden student položil níže uvedenou otázku [obrázek].

Otázka položená studentem v Udemy.

Přečtěte si pozorně výše uvedenou otázku a pokuste se ji vyřešit...

Kroky k vyřešení výše uvedeného problému:

Zde použiji NEBO , OFFSET , MAX , MIN a ROW funkce jako vzorec aplikace Excel pro vytvoření Smyčka FOR .

  • Nejprve je vaším úkolem otevřít nový sešit a do pracovního listu postupně zadat výše uvedené hodnoty [začít od buňky C5 ].
  • Za druhé vyberte celý rozsah [z buňky C5:C34 ].
  • Za třetí, z Home stuha>> klikněte na položku Podmíněné formátování příkaz.
  • Nakonec vyberte Nové pravidlo z rozevíracího seznamu.

V tuto chvíli, Nové pravidlo formátování Zobrazí se dialogové okno.

  • Nyní v Vyberte typ pravidla okno>> vybrat Pomocí vzorce určete, které buňky se mají formátovat možnost.
  • Pak v Formátování hodnot, kde je tento vzorec pravdivý zadejte tento vzorec:
=OR(OFFSET(C5,MAX(ŘÁDEK(C$5)-ŘÁDEK(C5)+3,0),0,MIN(ŘÁDEK(C5)-ŘÁDEK(C$5)+1,4),1)-OFFSET(C5,MAX(ŘÁDEK($C$5)-ŘÁDEK(C5),-3),0,MIN(ŘÁDEK(C5)-ŘÁDEK(C$5)+1,4),1)=3)

  • Nyní vyberte příslušný typ formátu kliknutím na tlačítko Formát... v dialogovém okně.

V tomto okamžiku se zobrazí dialogové okno s názvem Formátování buněk se objeví.

  • Nyní z Naplňte možnost>> musíte si vybrat některou z barev. Zde jsem vybral barvu. Světle modrá pozadí. Také můžete vidět vzorek okamžitě. V tomto případě se pokuste vybrat některý světlo Protože tmavá barva může skrýt zadaná data. Pak možná budete muset změnit barvu. Barva písma .
  • Poté musíte stisknout OK použít formaci.

  • Poté musíte stisknout OK na Nové pravidlo formátování Zde si můžete okamžitě prohlédnout vzorek v dialogovém okně Náhled box.

Nakonec získáte naformátovaná čísla.

Ukážu vám algoritmus pro řešení výše uvedeného problému:

  • Abych vám usnadnil pochopení algoritmu, vysvětlím vám celou věc pomocí dvou referenčních buněk: buněk C11 a C17 V buňkách C11 a C17 , hodnoty jsou 10 a 20 Pokud jste zvyklí na vzorce v Excelu, pak můžete cítit, že OFFSET funkce, jako je OFFSET funkce pracuje s referenčními body.
  • Nyní si představte, že beru hodnoty rozsahů buněk. C8:C11 & C11:C14 a C14:C17 & C17: C20 vedle sebe [obrázek níže]. Referenční buňky jsou C11 a C17 a beru celkem 7 buňky kolem referenční buňky. Získáte imaginární obrázek, jako je následující. Z první části můžete najít vzor z obrázku. C9-C12=3 , C10-C13=3 Pro druhou část však žádný takový vzor neexistuje.

  • Sestavme tedy algoritmus s ohledem na výše uvedený vzor. Před sestavením společného vzorce ukážu, jaké budou vzorce pro buňky C11 a C17 a poté vzorec upraví tak, aby byl společný pro všechny. Pro referenční bod (jako např. C11 nebo C17 ), vezmu celkem 7 buňky kolem něj (včetně referenčního bodu) a umístím je vedle sebe do vzorce, který vytvoří pole. Pak zjistím rozdíl polí, pokud se některý z rozdílů rovná 3 že referenční buňka bude TRUE oceněno.
  • Zde to mohu snadno provést pomocí OFFSET funkce jako OFFSET funkce vrací pole. Řekněme pro odkaz na buňku C11 , mohu vzorec zapsat takto: =NEBO(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Co vrátí tento vzorec? První offsetová funkce vzorce vrátí pole: {10; 11; 12; 15} , druhá funkce offset vrátí pole {5; 8; 9; 10} A víte. {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Když je toto pole logicky testováno pomocí =3 pak Excel interně počítá takto: {5=3; 3=3; 3=3; 5=3} = {False; True; True; False} . Když NEBO je na toto pole použita funkce: NEBO({False; True; False; True} , získáte TRUE . Takže buňka C11 získá vrácené hodnoty true.
  • Myslím, že jste pochopili celý koncept fungování tohoto algoritmu. Nyní je tu problém. Tento vzorec může pracovat z buňky C8 , nad buňkou C8 , existují 3 buněk. Ale pro buňky C5, C6, a C7 tento vzorec nemůže fungovat. Proto je třeba vzorec pro tyto buňky upravit.
  • Nyní pro buňky C5 na C7 , chceme, aby vzorec nebral v úvahu horní 3 například pro buňky C6 , náš vzorec nebude podobný vzorci pro buňku C11 : =NEBO(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Zde pro buňky C5 , vzorec bude vypadat takto: OR(OFFSET(C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • Potom pro buňku C6 , vzorec bude vypadat takto: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Poté pro buňky C7 , vzorec bude vypadat takto: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Opět pro buňky C8 , vzorec bude vypadat takto: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [toto je obecný vzorec].
  • Potom pro buňku C9 , vzorec bude vypadat takto: OR(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [toto je obecný vzorec].
  • A konečně, nacházíte ve výše uvedených vzorcích nějaké zákonitosti? První z nich je OFFSET argument řádků funkce se snížil z 3 na 0 ; argument výšky se zvýšil z 1 na 4 . Druhý OFFSET argument řádků funkce se snížil z 0 na -3 a výškový argument se zvýšil z 1 na 4 .
  • Za prvé, první OFFSET argument řádků funkce bude upraven takto: MAX(ŘÁDEK(C$5)-ŘÁDEK(C5)+3,0)
  • Za druhé, druhý OFFSET argument řádků funkce bude upraven takto: MAX(ŘÁDEK(C$5)-ŘÁDEK(C5),-3)
  • Za třetí, první OFFSET argument výšky funkce bude upraven takto: MIN(ŘÁDEK(C5)-ŘÁDEK(C$5)+1,4)
  • Za čtvrté, druhý OFFSET argument výšky funkce bude upraven takto: MIN(ŘÁDEK(C5)-ŘÁDEK(C$5)+1,4)
  • Nyní se pokuste pochopit výše uvedené úpravy. Není to tak těžké. čtyři úpravy fungují jako FOR LOOP Excel VBA, ale vytvořil jsem je pomocí vzorců Excelu.
  • Způsoby, jakými funguje obecný vzorec pro buňky, jste tedy získali ze stránek C5:C34 .

Mluvil jsem o smyčkách v tabulkách Excelu. Toto je dokonalý příklad smyčkování v Excelu. Zde se pokaždé, když vzorec trvá. 7 a pracuje s buňkami, aby zjistil konkrétní hodnotu.

2. Použití funkcí IF & OR k vytvoření smyčky FOR v aplikaci Excel

V tomto příkladu předpokládejme, že chcete zkontrolovat, zda buňky obsahují nějaké hodnoty, nebo ne. Dále pomocí Excel VBA Smyčka FOR, to můžete udělat snadno, ale zde to udělám pomocí vzorce Excelu.

Nyní můžete použít na IF a NEBO funkce jako vzorec Excelu pro vytvoření Smyčka FOR . Dále můžete tento vzorec upravit podle svých preferencí. Postup je uveden níže.

Kroky:

  • Nejprve musíte vybrat jinou buňku. E5 kde chcete zobrazit Stav .
  • Zadruhé byste měli použít odpovídající vzorec v aplikaci E5 buňka.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • Následně stiskněte ENTER a získáte výsledek.

Rozdělení vzorců

Zde se NEBO funkce vrátí TRUE pokud se některá z daných logik stane TRUE .

  • Za prvé, B5="" je 1. logika, která zkontroluje, zda buňka B5 obsahuje nějakou hodnotu nebo ne.
  • Za druhé, C5="" je 2. logika, která zkontroluje, zda buňka C5 obsahuje nějakou hodnotu nebo ne.
  • Za třetí, D5="" je 3. podobně, který zkontroluje, zda je buňka D5 obsahuje nějakou hodnotu nebo ne.

Nyní je IF funkce vrací výsledek, který splní zadanou podmínku.

  • Když se NEBO funkce dává TRUE pak se zobrazí " Chybějící informace " jako Stav V opačném případě získáte " Hotovo " jako Stav .
  • Poté musíte přetáhnout Plnicí rukojeť na ikonu Automatické vyplňování odpovídající údaje v ostatních buňkách E6:E13 . Nebo můžete dvakrát kliknout na Plnicí rukojeť ikona.

Nakonec získáte všechny výsledky.

3. Využití funkce SUMIFS k vytvoření smyčky FOR v aplikaci Excel

Předpokládejme, že chcete vytvořit celkový účet pro určitou osobu. V takovém případě můžete použít příkaz Smyčka FOR pomocí vzorce Excelu. Zde použiji funkce SUMIFS vytvořit Smyčka FOR v aplikaci Excel. Kroky jsou uvedeny níže.

Kroky:

  • Nejprve musíte vybrat jinou buňku. F7 kde chcete zobrazit Stav .
  • Zadruhé byste měli použít odpovídající vzorec v aplikaci F7 buňka.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • Následně stiskněte ENTER a získáte výsledek.

Rozdělení vzorců

  • Zde, $C$5:$C$13 je rozsah dat, z něhož se SUMIFS funkce provede součet.
  • Pak, $B$5:$B$13 je rozsah dat, od kterého SUMIFS funkce zkontroluje zadaná kritéria
  • Nakonec, E7 je kritérium.
  • Takže SUMIFS funkce přidá platby za E7 hodnota buňky.
  • Poté musíte přetáhnout Plnicí rukojeť ikona pro automatické vyplnění odpovídajících údajů ve zbývajících buňkách. F8:F10 .

Nakonec získáte výsledek.

Závěr

Doufáme, že vám tento článek pomohl. Vysvětlili jsme zde 3 vhodné příklady k vytvoření Smyčka FOR v Excelu pomocí vzorců. Můžete navštívit naše webové stránky Exceldemy Chcete-li se dozvědět více obsahu souvisejícího s aplikací Excel. Pokud máte nějaké připomínky, návrhy nebo dotazy, napište je do níže uvedeného oddílu komentářů.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.