Z jakéhokoli důvodu, pokud chcete provést nějakou operaci v rozsahu s konkrétními indexy, budete přemýšlet o použití funkce INDEX pro získání pole hodnot na konkrétních indexech. Takhle.
Pojďme to pochopit na příkladu.
Tady mám sloupec Rate. Chci sečíst hodnoty na pozici 1,3 a 5. Tento vzorec píšu do C2.
= SUM (INDEX (A2: A11, {1,3,5}))
Když dodáme pole jako indexy, funkce INDEX překvapivě nevrací pole hodnot. Získáme pouze první hodnotu. A funkce SUMA vrací součet pouze jedné hodnoty.
Jak tedy získáme funkci INDEX, vrátíme toto pole. Našel jsem toto řešení na internetu a moc nerozumím tomu, jak funguje, ale funguje.
Obecný vzorec pro získání pole indexů
= SUM (INDEX (rozsah, N (IF (1, {numbers})))
Rozsah: Je to rozsah, ve kterém chcete hledat daná čísla indexů
Číslo: toto jsou čísla indexů.
Nyní použijeme výše uvedený vzorec na náš příklad.
Napište tento vzorec do C2.
= SUM (INDEX (A2: A11, N (IF (1, {1,3,5})))
A tím se vrátí správná odpověď jako 90.
Jak to funguje.
Jak jsem řekl, nevím, proč to funguje, a vrací řadu čísel, ale co se stane.
IF (1, {1,3,5}): Tato část vrací pole {1,3, 5} podle očekávání
N (IF (1, {1,3,5})) to znamená N ({1,3,5}), což nám opět dává {1,3,5}
POZNÁMKA: Funkce N vrací číslo ekvivalentní jakékoli hodnotě. Pokud hodnota není převoditelná na číslo, vrátí 0 (jako text). A u chyb vrací chybu.
INDEX ((A2: A11, N (IF (1, {1,3,5}))): tato část se překládá do INDEX ((A2: A11, {1,3,5}) a nějak to vrací pole { 10,30,50}. Jak jste již viděli dříve, když napíšete INDEX ((A2: A11, {1,3,5}) přímo do vzorce, vrátí pouze 10. Když ale použijeme funkci N a IF, vrátí celý pole. Pokud tomu rozumíte, dejte mi vědět v sekci komentáře níže.
Jak použít odkazy na buňky pro hodnoty indexu k získání pole
Ve výše uvedeném příkladu jsme napevno zakódovali indexy ve funkci. Ale co když to chci mít z rozsahu, který se může změnit. Nahradíme {1,3,5} rozsahem? Pojďme to zkusit.
Zde máme tento vzorec v buňce D2:
= SUM (INDEX (A2: A11, N (IF (1, A2: A5)))
Tím se vrátí 10. Úplně první hodnota daného indexu. I když jej zadáme jako vzorec pole pomocí CTRL+SHIFT+ENTER, poskytne stejný výsledek.
Aby to fungovalo, přidejte před rozsah operátor + nebo - (dvojitý unár) a zadejte jej jako vzorec pole.
{= SOUČET (INDEX (A2: A11, N (IF (1,+A2: A5)))
To funguje. Neptej se mě jak? Prostě to funguje. Pokud mi můžete říci, jak zde uvedu vaše jméno a vysvětlení.
Naučili jsme se tedy, jak získat pole z funkce INDEX. V Excelu se tu dějí nějaké šílené věci. Pokud zde v sekci komentáře níže můžete vysvětlit, jak to funguje, zahrnu to do svého vysvětlení s vaším jménem.
Stáhnout soubor:
Související články:
Pole ve vzorci aplikace Excel
K vyhledání hodnoty použijte INDEX a MATCH
Jak používat funkci LOOKUP v Excelu
Vyhledávací hodnota s více kritérii
Oblíbené články:
Funkce VLOOKUP v Excelu
COUNTIF v aplikaci Excel 2016
Jak používat funkci SUMIF v aplikaci Excel