2017-01-25 8 views
0

Ich habe eine Liste von Dateipfadnamen und möchte nur Teil der Unterordner Namen extrahieren.Nur einen Teil des Namens des Unterordners aus Dateipfad extrahieren

Beispiel: C: \ Users \ zatin.dharmapuri \ Desktop \ Bewertungen \ 01 Sprint \ 08 Adresse Ergebnis Popup Dialog Review_Implemented 1.0.xlsx

Im obigen Beispiel, ich brauche nur zu extrahieren die Sprint-Nummern aus dem Dateipfad. Diese Nummern können auch zweistellig sein.

Was ich habe, ist eine Funktion, die eine weitere Anforderung dient dazu, mir den Dateinamen zu geben, die nach dem letzten fällt „\“

=IF(RawData!B1="","",MID(RawData!G1,FIND("*",SUBSTITUTE(RawData!G1,"\","*",LEN(RawData!G1)-LEN(SUBSTITUTE(RawData!G1,"\",""))))+1,LEN(RawData!G1))) 

Gibt es eine Funktion, dies zu tun? Jede Hilfe wird geschätzt.

Danke!

Antwort

0

Mit Daten in, sagen A1, in einer anderen Zelle eingeben:

=SUBSTITUTE(MID(A1,FIND("Sprint ",A1)+7,2),"\","") 

Dies wird entweder ein- oder zweistelligen Sprint Zahlen (als Text) zurückkehrt:

enter image description here

Wenn Sie das Ergebnis als Nummer benötigen, verwenden Sie:

+0

Das hat super funktioniert! Ich habe eine verwandte Follow-up-Frage. Aus dem angegebenen Dateipfad und der Funktion in meiner Frage. Ich schaffe es, den numerischen Wert 08 zu bekommen, der dem Sprint num \ folgt. Aber wenn ich versuche, die INDEX MATCH-Formel mit dem Wert zu verwenden, wird ein Fehler ausgegeben, da die MATCH-Formel 08 mit 8 nicht erkennt. Ich überprüfte das Zellenformat, alles gute an diesem Ende. Wenn ich physisch 08 eingib, funktioniert die INDEX MATCH Formel gut. Irgendwelche Lösungen dazu? –

+0

@ZatinDharmapuri Es kann der Unterschied sein zwischen ** 08 ** als * Text * und ** 08 ** als * Nummer * –

+0

Ich sehe nicht, wie ich das schaffen kann. Können Sie mir mit einer Formel helfen, die Zahlen als numerische Werte aus dem Dateinamen abruft? Allen Dateinamen wird eine Zahl vorangestellt, die zwischen 01 und 700 liegt. –

0

Wie ich es verstehe, benötigen Sie die Daten, die zwischen dem Namen "Sprint" im Ordnerpfad und dem nächsten Ordner/Datei im Pfad auftritt. Wenn der Text „Sprint“ wird nur einmal in Ihrem Dateipfad zeigen gehen, können Sie einfach tun

=TRIM(MID(A1,FIND("Sprint",A1)+LEN("Sprint"),FIND("\",A1,FIND("Sprint",A1))-FIND("Sprint",A1)-LEN("Sprint"))) 

Dieses einen Ausgangspunkt des ersten Zeichens nach dem „Sprint“ in Ihren Daten finden, dann die Menge zieht von Zeichen bis zur ersten Instanz von "\" nach "Sprint". Die FIND-Funktion unterscheidet zwischen Groß- und Kleinschreibung und sucht nach einer exakten Zeichenfolge. Wenn Ihre Daten nicht vollständig konsistent sind, können Sie sie durch die SEARCH-Funktion ersetzen, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird und Platzhalterabfragen zulässig sind.

+0

Danke und ich schätze deine Zeit. Ich verwende jetzt Garys Formel, aber ich kann Ihre Funktion mit ein wenig Modifikation für andere Zwecke verwenden. Dazu werde ich zunächst versuchen, die in Ihrer Formel verwendeten Funktionen zu verstehen. –

Verwandte Themen