For a vba solution, just building on Mike's idea, I think you would find this pretty fast even over 50,000 rows. It assumes that you just want the filename extracted and that the column immediately to the right of your data is available to house the results.
<font face=Courier New><br><SPAN style="color:#00007F">Sub</SPAN> ExtractName()<br> <SPAN style="color:#00007F">Dim</SPAN> a, b<br> <SPAN style="color:#00007F">Dim</SPAN> lr <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, i <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN><br> <br> <SPAN style="color:#00007F">Const</SPAN> Col <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN> = "C" <SPAN style="color:#007F00">'<-Orig data column</SPAN><br> <br> lr = Range(Col & Rows.Count).End(xlUp).Row<br> <SPAN style="color:#00007F">With</SPAN> Range(Col & 1).Resize(lr)<br> a = .Value<br> <SPAN style="color:#00007F">For</SPAN> i = 1 <SPAN style="color:#00007F">To</SPAN> lr<br> <SPAN style="color:#00007F">If</SPAN> Len(a(i, 1)) > 0 <SPAN style="color:#00007F">Then</SPAN><br> b = Split(a(i, 1), "/")<br> a(i, 1) = b(UBound(b))<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <SPAN style="color:#00007F">Next</SPAN> i<br> .Offset(, 1).Value = a<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>
Apart from vba or formula, you could do this very quickly manually as follows:
1. Copy the column of data (not even needed if you don't want to retain the original full path and name)
2. Select thye column by clicking its heading label.
3. Find/Replace with
Find what: */
Replace with: leave blank
Check in Options that 'Match entire cell contents' is NOT checked
Replace All
Just in case you wanted the path and file name in the next 2 columns, you could try this vba variation.
<font face=Courier New><br><SPAN style="color:#00007F">Sub</SPAN> ExtractPathAndName()<br> <SPAN style="color:#00007F">Dim</SPAN> a, b<br> <SPAN style="color:#00007F">Dim</SPAN> lr <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, i <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN><br> <br> <SPAN style="color:#00007F">Const</SPAN> Col <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN> = "C" <SPAN style="color:#007F00">'<-Orig data column</SPAN><br> <br> lr = Range(Col & Rows.Count).End(xlUp).Row<br> <SPAN style="color:#00007F">With</SPAN> Range(Col & 1).Resize(lr, 2)<br> a = .Value<br> <SPAN style="color:#00007F">For</SPAN> i = 1 <SPAN style="color:#00007F">To</SPAN> lr<br> b = Split(a(i, 1), "/")<br> <SPAN style="color:#00007F">If</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(b) > 0 <SPAN style="color:#00007F">Then</SPAN><br> a(i, 2) = b(UBound(b))<br> b(UBound(b)) = vbNullString<br> a(i, 1) = Join(b, "/")<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <SPAN style="color:#00007F">Next</SPAN> i<br> .Offset(, 1).Value = a<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>