Excel – vnořené investiční fondy a alternativy

Děkujeme, že jste se k nám připojili! Za chvíli dostanete uvítací zprávu.

Pohled na vnořené příkazy IF a alternativy, které lze později snáze vytvořit a pochopit.

David Goodmanson

V mém posledním článku jsem se podíval na jednoduchý příkaz IF IF plus jejich užiteční bratranci CountIf a SumIF. Dotkl jsem se také vnořeného příkazu IF, kde je v jedné buňce mnoho funkcí IF.

Tentokrát se podíváme na vnořený IF podrobněji a zejména na alternativy, které jsou snazší pro pozdější pochopení a pochopení.

Dále se podíváme na alternativní způsoby využití příkazu IF v nějakém kódu VBA (Visual Basic for Applications) a příkazu Select Case.

Číslo hodnocení ve sloupci B se změní na textový popis ve sloupci C. V aplikaci Excel existují všechny možné způsoby V jednoduchém příkladu, jako je tento, stačí vnořený IF, ale existují i jiné možnosti, které a je snadněji čitelné pro ostatní.

Nikdo se nikdy nepokouší vytvořit dlouhou skupinu vnořených IF. Obvykle se na každého v průběhu času plazí. Jednoduchý vnořený IF s možností 2 nebo 3 může růst s více a více IF až do bodu, kdy je nečitelný a náchylný k chybě kódování. Zde je „jednoduchý“ vnořený IF se 40 úrovněmi:

=IF(A2="A",TRUE,IF(A2="B",TRUE,IF(A2="C",TRUE,IF(A2="D",TRUE,
IF(A2="E",TRUE,IF(A2="F",TRUE,IF(A2="G",TRUE,IF(A2="H",TRUE,
IF(A2="I",TRUE,IF(A2="J",TRUE,IF(A2="K",TRUE,IF(A2="L",TRUE,
IF(A2="M",TRUE,IF(A2="N",TRUE,IF(A2="O",TRUE,IF(A2="P",TRUE,
IF(A2="Q",TRUE,IF(A2="R",TRUE,IF(A2="S",TRUE,IF(A2="T",TRUE,
IF(A2="U",TRUE,IF(A2="V",TRUE,IF(A2="W",TRUE,IF(A2="X",TRUE,
IF(A2="Y",TRUE,IF(A2="Z",TRUE,IF(A2="AA",TRUE,IF(A2="AB",TRUE,
IF(A2="AC",TRUE,IF(A2="AD",TRUE,IF(A2="AE",TRUE,IF(A2="AF",TRUE,
IF(A2="AG",TRUE,IF(A2="AH",TRUE,IF(A2="AI",TRUE,
IF(A2="AJ",TRUE,IF(A2="AK",TRUE,IF(A2="AL",TRUE,IF(A2="AM",TRUE,
IF(A2="AN",TRUE,FALSE))))))))))))))))))))))))))))))))))))))))

V aplikaci Excel 2007 můžete mít 64 vnořených IF v jednom vzorci, i když hodně štěstí ladění takového řádku! Vnořené investiční fondy se o něco snáze ovládají v nedávných verzích aplikace Excel, které mají barevné kódování vzorců atd. Navzdory těmto pomocníkům je nejlépe se vyhnout silně vnořeným investičním fondům.

Pokud si myslíte, že se vaše vnořené možnosti mohou později rozšířit, zvažte jedna z alternativ od samého začátku.

Vnořený IF

Nejprve je pro funkce Vnořený IF uveden vzorec pro buňku C3 níže.

=IF(B3=5, "Boom", IF(B3=4, "Recovery", IF(B3=3, "Turning Point",
IF(B3=2, "Recession", IF(B3=1, "Depression")))))

Vnořený IF funguje zleva doprava při hodnocení logického testu, např. B3 = 5, pokud je toto hodnocení pravdivé, IF vloží text „Boom“. Pokud B3 není rovno 5, IF se podívá na další logický test (B3 = 4) a postupně vyhodnotí každý krok.

  • IF pokračuje v hodnocení každého testu, dokud není splněn logický test, a poté funkci ukončí.
  • Znaménko rovná se vlevo od prvního IF je vyžadováno pouze jednou pro první IF, poté , pro každou úroveň vnoření jednoduše vložíme do textu IF. (To platí pro jakoukoli vnořenou funkci listu).
  • Počet otevřených závorek „(“ musí odpovídat počtu uzavíracích závorek „)“. Ve výše uvedeném příkladu vzorce je 5 otevřených závorek, na konci 5 uzavřených závorek. Nedávné verze aplikace Excel mají lepší funkce zabarvení a kontroly chyb, aby byly závorky a uvozovky rovné, ale i tak lze vnořené IF obtěžování.

Vyhledávací tabulka

Jedním ze způsobů, jak obejít složitost vnořeného IF, je použít VLOOKUP spojený s referenční tabulkou jinak kde v listu.

Naše tabulka by vypadala takto:

Funkce ve sloupci C původní tabulky nyní zní:

=VLOOKUP(B3,$G$2:$H$6,2,FALSE)

Vyhledávací tabulku byste obvykle umístili na jinou kartu stejného listu, ale data lze získat odkudkoli.

VBA – prohlášení IF

Alternativou je vytvoření vlastní funkce VBA a vložení celé logiky IF do kódu VBA.

To má výhodu je mnohem snazší číst a rozumět.

Nevýhodou je potřeba zabezpečení kódu a obava, že kód VBA je legitimní, nikoli virus. Pokud vaši uživatelé nejsou zvyklí na získávání pracovních listů s připojeným kódem, možná se budete chtít možnosti VBA vyhnout.

Zde je fragment kódu, je to stejná logika jako vnořený IF na začátku tohoto článku, ale jako vy vidí, je mnohem snazší číst:

" Using a VBA if statement structure
" ==================================
If Rating = 5 Then
Prediction = "Boom"
ElseIf Rating = 4 Then
Prediction = "Recovery"
ElseIf Rating = 3 Then
Prediction = "Turning Point"
ElseIf Rating = 2 Then
Prediction = "Recession"
ElseIf Rating = 1 Then
Prediction = "Depression"
End If

VBA: Select Case

Konečně ještě jednodušší čitelnou strukturou je příkaz Select Case.

"Using a Select Case structure
"=============================
Select Case Rating
Case 5
Prediction = "Boom"
Case 4
Prediction = "Recovery"
Case 3
Prediction = "Turning Point"
Case 2
Prediction = "Recession"
Case 1
Prediction = "Depression"
End Select

Příkaz Select Case je další strukturou VBA, která poskytuje způsob hodnocení řady alternativ s minimem požadovaného opakovaného klíčování . Je také jednodušší a snáze čitelný a měl by být použit, pokud existují více než 3 alternativy sledované proměnné.

VBA: a dále…

Na závěr vám představím větší síly Select Case je rozšířená verze Select Case:

Select Case Rating
Case 4.5 To 10
Prediction = "Boom"
Case 3.5 To 4.49
Prediction = "Recovery"
Case 2.5 To 3.49
Prediction = "Turning Point"
Case 1.5 To 2.49
Prediction = "Recession"
Case 0.5 To 1.4
Prediction = "Depression"
Case 0 To 0.49
Prediction = "Money under the Mattress"
Case Else
Prediction = "No prediction - there"s no economy left!"
End Select

Tato verze testuje rozsahy hodnot (např. hodnocení od 3,5 do 3,5, ale menší nebo 4,5) a umožňuje někomu, kdo nabízí zlomkové hodnocení jako 2.5.

Kromě toho je ve spodní části struktury ovládací prvek „Else“. V zásadě pokrývá ev ještě něco, čím jsme se v předchozích Elseifech nezabývali. Pokud se nic nerovná hodnocení, pak Else část struktury poskytuje alternativní ovládání.

No, to je pro řadu funkcí IF. Nechte si zasílat zpětnou vazbu, dotazy a návrhy. Uvidíme se příště.

Podívejte se také

  • SUMA aplikace Excel je mnohem více
  • Vytváření složitých aplikací Excel buňka snadno použitelná
  • Více vnořených možností IF
  • Možnost ZVOLIT v aplikaci Excel
  • Funkce IF v aplikaci Excel
Děkujeme, že jste se k nám připojili! Za chvíli dostanete uvítací zprávu.

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *