Come si inserisce il nome del file corrente in Excel?


14

Sto cercando di visualizzare il nome del file su cui sto lavorando nel foglio di calcolo Excel di interesse utilizzando una formula. Ad esempio, se il file si chiamava workbook1.xlsx, vorrei che la cella A1 mostrasse "workbook1.xlsx"

La formula fornita dal sito di aiuto di Microsoft non funziona: http://office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- a-cellula-HA010103010.aspx # BMinsert3

= MID (CELL ("nome file"), SEARCH ("[", CELL ("nome file")) + 1, SEARCH ("]", CELL ("nome file")) - SEARCH ("[", CELL ("nome file ")) - 1)


In che modo non funziona? Quale output fornisce? Hai salvato la cartella di lavoro?

Risposte:


14

Funziona qui, ho appena testato su Excel 2007 (XP) ed Excel 2013 (Windows 8).

Prova da =CELL("filename")solo per aiutare a risolvere i problemi.

  • Assicurati di aver salvato la cartella di lavoro su disco. Non mostrerà "Book1" se inserisci la formula in una nuova cartella di lavoro non salvata.

  • Stai utilizzando impostazioni internazionali non inglesi sul tuo computer? Alcune lingue che richiedono la regolazione dei nomi delle funzioni e della sintassi della formula (ad esempio in francese, le virgole devono essere sostituite da punti e virgola).

  • Sei sul tuo personal computer o un computer sul posto di lavoro? Se si tratta di un computer di lavoro, potrebbero esserci delle limitazioni ai diritti dell'utente che possono causare problemi.

Quando dici "non funziona", puoi essere più specifico? Accetta la formula come digitata? La cella è vuota e mostra "#VALUE!", Ecc.? Cosa succede quando si usa =CELL("filename")?


Penso di avere uno spazio o qualcosa del genere, ora funziona. Grazie!
timothy.s.lau,

Non sembra funzionare nella beta di Excel 2015.
Akku,

Assicurati che il markup della cella in cui ti trovi sia generale / standard (quindi non testo / numero, ecc.)
Lexib0y

1
Non ha funzionato per me, fino a quando non ho cambiato il carattere virgola in punto e virgola, secondo le mie impostazioni locali.
mavrosxristoforos,

9

Nota che =CELL("filename")ti dà il percorso dell'ultima cartella di lavoro / foglio di lavoro modificato, quindi se hai 2 cartelle di lavoro aperte, abc e xyz e la tua formula è in abc, se hai modificato un valore in xyz la formula in abc rifletterà e restituiràxyz.xlsx

Per questo motivo è generalmente preferibile includere un riferimento di cella (qualsiasi riferimento di cella), ad es

= CELL ("nome file", A1 )

L'uso di quella versione significa che otterrai sempre il nome della cartella di lavoro in cui risiede la formula.

Puoi usare questa versione leggermente più corta

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")


2

Ho trovato che questa è la formula "più semplice" per restituire solo il nome file :

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

Per restituire il percorso completo , ciò farà:

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"

1

Ho avuto lo stesso problema (la formula incollata non ha funzionato)! Una volta che ho sostituito il ,da ;nella formula ha funzionato perfettamente.

= MID (CELL ("nome file"); SEARCH ("["; CELL ("nome file")) + 1; SEARCH ("]"; CELL ("nome file")) - SEARCH ("["; CELL ("nome file ")) - 1)


Credo che questo sia perché stai utilizzando una versione Euro di Excel. La versione Euro utilizza punti e virgola anziché virgole per i parametri delle funzioni. Credo che anche le versioni internazionali utilizzino le virgole.
krowe2,

Non si tratta in realtà di quale versione di Excel stai utilizzando, ma piuttosto di quale "delimitatore" stai utilizzando nelle impostazioni regionali.
derby del

1

La soluzione più semplice è questa:

Nel tuo file Excel premi Alt+ F11, che apre Microsoft Visual Basics for Applications (VBA). In VBA seleziona Insert > Modulee incolla il seguente codice

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

Nel vostro tipo di file Excel formula: =GetMyProp("Title"). Questo mostrerà il titolo del tuo documento nella cella scelta.


1

Se si utilizza Excel in olandese, è necessario utilizzare i nomi delle funzioni olandesi e utilizzare i punti e virgola anziché la virgola:

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.