Excel-formel: Liste arknavn med formel -

Generisk formel

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

Sammendrag

For å liste opp regneark i en Excel-arbeidsbok, kan du bruke en 2-trinns tilnærming: (1) definere et navngitt område kalt "arknavn" med en gammel makrokommando og (2) bruke INDEX-funksjonen til å hente arknavn ved hjelp av det navngitte området. I eksemplet vist er formelen i B5:

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

Merk: Jeg kom inn på denne formelen på MrExcel-oppslagstavlen i et innlegg av T. Valko.

Forklaring

Det navngitte området "arknavn" er opprettet med denne koden:

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

GET.WORKBOOK er en makrokommando som henter en rekke arknavn i gjeldende arbeidsbok. Den resulterende matrisen ser slik ut:

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

Et kryptisk uttrykk er sammenkoblet til resultatet:

&T(NOW())

Formålet med denne koden er å tvinge ny beregning til å hente endringer i arknavn. Fordi NÅ er en flyktig funksjon, beregner den på nytt med hvert regnearksendring. NOW-funksjonen returnerer en numerisk verdi som representerer dato og klokkeslett. T-funksjonen returnerer en tom streng ("") for numeriske verdier, slik at sammenkoblingen ikke har noen innvirkning på verdiene.

Tilbake på regnearket inneholder celle B6 denne formelen kopiert ned:

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

MID-funksjonen fungerer fra innsiden og ut og brukes til å fjerne navnene på regnearket. Den resulterende matrisen ser slik ut:

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

Dette går inn i INDEX-funksjonen som "array". ROW-funksjonen bruker et an utvidende områder for å generere et økende radnummer. På hver nye rad returnerer INDEX neste matriseverdi. Når det ikke er flere arknavn å skrive ut, vil formelen returnere en #REF-feil.

Merk: fordi denne formelen er avhengig av en makrokommando, må du lagre som en makroaktivert arbeidsbok hvis du vil at formelen skal fortsette å oppdatere arknavn etter at filen er lukket og åpnet på nytt. Hvis du lagrer som et vanlig regneark, blir arknavnskoden fjernet.

Gode ​​lenker

Mr. Excel-foruminnlegg av T. Valko

Interessante artikler...