Excel formel: Liste arknavne med formel -

Generisk formel

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

Resumé

For at liste regneark i en Excel-projektmappe kan du bruge en 2-trins tilgang: (1) definere et navngivet område kaldet "arknavne" med en gammel makrokommando og (2) bruge INDEX-funktionen til at hente arknavne ved hjælp af det navngivne interval. I det viste eksempel er formlen i B5:

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

Bemærk: Jeg løb ind i denne formel på MrExcel-opslagstavlen i et indlæg af T. Valko.

Forklaring

Det navngivne område "arknavne" oprettes med denne kode:

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

GET.WORKBOOK er en makrokommando, der henter en række arknavne i den aktuelle projektmappe. Den resulterende matrix ser sådan ud:

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

Et kryptisk udtryk sammenkædes til resultatet:

&T(NOW())

Formålet med denne kode er at tvinge genberegning til at opfange ændringer i arknavne. Fordi NU er en flygtig funktion, genberegner den med hver regnearksændring. NU-funktionen returnerer en numerisk værdi, der repræsenterer dato og klokkeslæt. T-funktionen returnerer en tom streng ("") til numeriske værdier, så sammenkædningen har ingen effekt på værdierne.

Tilbage på regnearket indeholder celle B6 denne formel kopieret ned:

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

Arbejder indefra og ud, bruges MID-funktionen til at fjerne navnene på regnearket. Den resulterende matrix ser sådan ud:

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

Dette går ind i INDEX-funktionen som "array". ROW-funktionen bruger et an-udvidelsesområde til at generere et stigende række nummer. Ved hver nye række returnerer INDEX den næste matrixværdi. Når der ikke er flere arknavne at udføre, returnerer formlen en #REF-fejl.

Bemærk: fordi denne formel er afhængig af en makrokommando, skal du gemme som en makroaktiveret projektmappe, hvis du vil have, at formlen skal fortsætte med at opdatere arknavne, efter at filen er lukket og genåbnet. Hvis du gemmer som et normalt regneark, fjernes arknavnskoden.

Gode ​​links

Mr. Excel-forumindlæg af T. Valko

Interessante artikler...