Condividi:        

EXCEL - Estrazione nome file senza estensione da percorso

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

EXCEL - Estrazione nome file senza estensione da percorso

Postdi Dylan666 » 20/12/23 13:20

Data una cella A2 in cui c'è un percorso tipo c:\Nome cartella\Nome altra cartella\Altra cartella ancora\MioFile.Ext mi servirebbe una formula da incollare in B2 per avere solo MioFIle.

In pratica mi serve dall'ultimo slash da sinistra (escluso) fino al punto (supponendo che nel nome file ci sia solo il punto prima dell'estensione

Ho trovato questa
Codice: Seleziona tutto
=SE.ERRORE(STRINGA.ESTRAI(A2;TROVA(CODICE.CARATT(1);SOSTITUISCI(A2;"\";CODICE.CARATT(1);LUNGHEZZA(A2)-LUNGHEZZA(SOSTITUISCI(A2;"\";""))))+1;TROVA(CODICE.CARATT(1);SOSTITUISCI(A2;".";CODICE.CARATT(1);LUNGHEZZA(A2)-LUNGHEZZA(SOSTITUISCI(A2;".";""))))-TROVA(CODICE.CARATT(1);SOSTITUISCI(A2;"\";CODICE.CARATT(1);LUNGHEZZA(A2)-LUNGHEZZA(SOSTITUISCI(A2;"\";""))))-1);"")


Fonte:
https://stackoverflow.com/questions/338 ... -extension

Ma veramente non è semplificabile?
Avatar utente
Dylan666
Moderatore
 
Post: 40097
Iscritto il: 18/11/03 16:46

Sponsor
 

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Anthony47 » 20/12/23 19:37

Ad esempio:
Codice: Seleziona tutto
=ANNULLA.SPAZI(SINISTRA(SOSTITUISCI(STRINGA.ESTRAI(A2;1+MAX(SE(STRINGA.ESTRAI(A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)));1)="\";RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)));""));999);".";RIPETI(" ";1000));990))
La formula va confermata usando la combinazione Contr-Maiusc-Enter

Se avessi Office 365 oppure 2021 sarebbe drasticamente piu' semplice, tipo
Codice: Seleziona tutto
=LET(aArr;DIVIDI.TESTO(A2;"\");TESTO.PRECEDENTE(INDICE(aArr;COLONNE(aArr));"."))

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Dylan666 » 21/12/23 19:34

Molte grazie, funzionano tutte perfettamente.
Peccato non si sia pensato a funzioni più semplici per cercare l'ultima occorrenza di un carattere, fare uno split in base a un carattere, cercare le prima occorrenza da destra ecc.
Specialmente la parte del SOSTITUISCI la trovo veramente assurda
Avatar utente
Dylan666
Moderatore
 
Post: 40097
Iscritto il: 18/11/03 16:46

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Ricky0185 » 21/12/23 22:11

Anch'io, ignorantissimo con le formule e prima che Anthony mi tagliasse le gambe, avevo cercato una soluzione (alla 2003, ma poi son dovuto passare al 365) prima trovando la posizione del punto con
Codice: Seleziona tutto
Search(“.”, D1)
e la metti in una cella a piacere, diciamo B1, (vedi qui: How to Get File Name in Excel (Quick Formula) (excelchamps.com).
D1 è dove c’è c:\Nome cartella\Nome altra cartella\Altra cartella ancora\MioFile.Ext
Poi cercando l’ultima ricorrenza del \ “backslasc”, vedi qui: How do You Find the Last Occurrence of a Character in a String in Excel? (bizinfograph.com) con
Codice: Seleziona tutto
=MATCH(2,1/(MID(D1,ROW($D$1:INDEX(D:D,LEN(D1))),1)=”\“))
(e la metti in B2 o dove vuoi tu).
Infine sommando +1 dopo il "\" e sottraendo -1 al "." con la formula
Codice: Seleziona tutto
MID(D1, B2+1,B1-B2-1)
trovi MioFile senza .Ext. Vai comunque sempre qui: How to Get File Name in Excel (Quick Formula) (excelchamps.com) che riunisce il tutto in un'unica formula, che assomiglia alla seconda di Anthony, che invece è molto più veloce e diretta.
Saluti
R
OT Anthony, anch'io sto preparando un gadgettino per il Natale, un foglio excel che rappresenta un quadro con tanti personaggi che cliccandoci sopra partono dei mp4 "particolari". Ti allego il file con un solo personaggio senza l'icona. Il problema è che prima di partire compare un alert message che "...potrebbe contenere virus.....Continuare?" e vorrei baypassare l'alert message
Ricky0185
Utente Senior
 
Post: 303
Iscritto il: 10/12/19 20:38

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Anthony47 » 22/12/23 13:53

@Ricky: ci sono tanti modi per ottenere lo stesso risultato...
OT1: se scrivi i messaggi in Word e poi li copi nel forum, attenzione alla sostituzione delle "virgolette" con le "virgolette inglesi", che potrebbero trarre in errore chi copia le formule
Es: Search(“.”, D1) non funzionerà, essendo la sintassi giusta Search(".", D1)

E' una delle opzioni del correttore automatico di Word; per Word 2003 non mi ricordo dove si trova il relativo settaggio
OT2: Purtroppo quelle che intervengono sono protezioni di sistema che servono a ridurre i rischi di sicurezza, temo che non siano superabili senza la disponibilità/complicità del giocatore; ma dopo aver apprezzato il tema di Sara penso che la disponibilità non mancherà...

@Dylan: Excel rimane focalizzato sui numeri; tuttavia le versioni piu' recenti hanno introdotto molte funzioni nuove anche nella gestione dei testi; vedasi DIVIDI.TESTO (che fa lo split del testo in base a un separatore) e TESTO.PRECEDENTE che ho usato nella seconda formula

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Dylan666 » 22/12/23 15:10

Alla fine, per il mio modo di pensare, la soluzione era stata questa Function in VBA (sebbene avrei preferito usare solo formule):

Codice: Seleziona tutto
Function GetFileNamefromPath(myPath As String) As String
  GetFileNameOnly = Mid(myPath, InStrRev(myPath, "\") + 1, Len(myPath))
  GetFilenameNoExt = Mid(GetFileNameOnly, 1, InStrRev(GetFileNameOnly, ".") - 1)
  GetFileNamefromPath = GetFilenameNoExt
End Function


Per chi non lo sapesse basta premere Alt+F11 e andare su Inserisci > Modulo nel menù in alto nella finestra che apparirà.
Si incolla il codice riportato sopra, si salva e poi lo si usa su qualunque cella (es. A2) del foglio con questa sintassi:
=GetFileNamefromPath(A2)

Ma giocando un po' sull'ultimo suggerimento di Anthony mi piace pure questa formula:

Codice: Seleziona tutto
=TESTO.SUCCESSIVO(TESTO.PRECEDENTE(A2;".";-1);"\";-1)
Avatar utente
Dylan666
Moderatore
 
Post: 40097
Iscritto il: 18/11/03 16:46

Re: EXCEL - Estrazione nome file senza estensione da percors

Postdi Anthony47 » 22/12/23 22:59

Ma giocando un po' sull'ultimo suggerimento di Anthony mi piace pure questa formula:
Codice: Seleziona tutto
    =TESTO.SUCCESSIVO(TESTO.PRECEDENTE(A2;".";-1);"\";-1)
Da vero esperto!
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - Estrazione nome file senza estensione da percorso":


Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti