
Obecný vzorec
(=ROW(INDIRECT(start&":"&end)))
souhrn
Chcete-li vytvořit řadu čísel jako (1; 2; 3; 4; 5), můžete použít vzorec založený na funkcích ROW a INDIRECT. Tato technika se nejčastěji používá v maticových vzorcích, které potřebují pro zpracování nějakého druhu numerické pole. V zobrazeném příkladu je vzorec v D5:
(=ROW(INDIRECT(B5&":"&C5)))
který vrací pole jako (1; 2; 3; 4; 5).
Poznámka: Při zadání do jedné buňky zobrazí Excel pouze první položku v poli. Chcete-li zobrazit skutečný výsledek pole, použijte klávesu F9 na řádku vzorců. Za normálních okolností použijete tento vzorec uvnitř vzorce většího pole zadaného pomocí kláves Control + Shift + Enter.
Vysvětlení
Poznámka: V aplikaci Excel 365 je nová funkce SEQUENCE lepší a snadnější způsob, jak vytvořit řadu čísel. Metoda vysvětlená níže bude fungovat v předchozích verzích.
Jádrem tohoto vzorce je řetězec, který představuje řádky. Chcete-li například vytvořit pole s 10 čísly, můžete napevno naprogramovat řetězec do NEPŘÍMÉHO takto:
=ROW(INDIRECT("1:10"))
Funkce INDIRECT interpretuje tento text tak, že znamená rozsah 1:10 (10 řádků) a funkce ROW vrací číslo řádku pro každý řádek v tomto rozsahu uvnitř pole.
Zobrazený příklad používá obecnější verzi vzorce, který vyzvedne počáteční a koncová čísla z B5 a C5, takže řešení vypadá takto:
=ROW(INDIRECT(B5&":"&C5)) =ROW(INDIRECT(1&":"&5)) =ROW(INDIRECT("1:5")) =ROW(1:5) =(1;2;3;4;5)
Důvodem, proč se ve vzorci používá INDIRECT, je ochrana proti změnám v listu. Bez INDIRECT může vkládání nebo mazání řádků měnit odkaz na rozsah, například:
=ROW(1:5)
se změní na:
=ROW(1:4)
Pokud je řádek 1 odstraněn. Protože INDIRECT pracuje s odkazem vytvořeným s textem, není to ovlivněno změnami v listu.
Relativní čísla řádků v rozsahu
Pokud potřebujete pole, které se skládá z relativních čísel řádků rozsahu, můžete použít vzorec takto:
=ROW(range)-ROW(range.firstcell)+1
Na této stránce najdete úplné vysvětlení.
Záporné hodnoty
Funkce ROW nebude pracovat se zápornými čísly, takže nemůžete kombinovat záporná čísla pro začátek a konec . Na pole vytvořené pomocí ROW však můžete použít matematické operace. Například následující vzorec vytvoří toto pole: (-5; -4; -3; -2; -1)
=ROW(INDIRECT(1&":"&5))-6
Čísla v opačném pořadí, n až 1
Chcete-li vytvořit řadu kladných čísel v sestupném pořadí, od n do 1, můžete použít vzorec takto:
=ABS(ROW(INDIRECT("1:"&n))-(n+1))