Vzorec programu Excel: Zoznam názvov hárkov so vzorcom -

Všeobecný vzorec

=GET.WORKBOOK(1)&T(NOW())

Zhrnutie

Ak chcete zobraziť zoznam pracovných hárkov v zošite programu Excel, môžete použiť dvojstupňový prístup: (1) pomocou starého príkazu makra definujte pomenovaný rozsah nazývaný „názvy listov“ a (2) pomocou funkcie INDEX načítajte názvy listov pomocou pomenovaného rozsahu. V zobrazenom príklade je vzorec v B5:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Poznámka: Na tento vzorec som narazil na nástenke MrExcel v príspevku T. Valka.

Vysvetlenie

Pomenovaný rozsah „sheetnames“ sa vytvára pomocou tohto kódu:

=GET.WORKBOOK(1)&T(NOW())

GET.WORKBOOK je príkaz makra, ktorý načíta rad názvov hárkov v aktuálnom zošite. Výsledné pole vyzerá takto:

("(workbook.xlsm)Sheet1","(workbook.xlsm)Sheet2","(workbook.xlsm)Sheet3","(workbook.xlsm)Sheet4","(workbook.xlsm)Sheet5")

Záhadný výraz je zreťazený do výsledku:

&T(NOW())

Účelom tohto kódu je prinútiť prepočet, aby zachytil zmeny v názvoch hárkov. Pretože NOW je volatilná funkcia, prepočítava sa to pri každej zmene pracovného hárka. Funkcia NOW vráti číselnú hodnotu predstavujúcu dátum a čas. Funkcia T vráti prázdny reťazec ("") pre číselné hodnoty, takže zreťazenie nemá na hodnoty žiadny vplyv.

Bunka B6 obsahuje na konci pracovného hárka tento vzorec skopírovaný nadol:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Pri práci zvnútra von sa funkcia MID používa na odstránenie názvov pracovných hárkov. Výsledné pole vyzerá takto:

("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5")

Toto prejde do funkcie INDEX ako „pole“. Funkcia ROW používa na zväčšenie rozsahu generovanie prírastkového čísla riadku. V každom novom riadku vráti INDEX ďalšiu hodnotu poľa. Ak na výstup nie sú k dispozícii žiadne ďalšie názvy hárkov, vzorec vráti chybu #REF.

Poznámka: pretože tento vzorec sa spolieha na príkaz makra, budete musieť uložiť ako zošit s povoleným makrom, ak chcete, aby vzorec pokračoval v aktualizácii názvov hárkov aj po zatvorení a opätovnom otvorení súboru. Ak uložíte ako normálny pracovný hárok, kód názvu hárka bude odstránený.

Dobré odkazy

Príspevok na fóre pána Excel od T. Valka

Zaujímavé články...