Extract file name from full path using formulas

Share

Facebook
Twitter
LinkedIn

Today lets tackle a very familiar problem. You have a bunch of very long, complicated file names & paths. Your boss wants a list of files extracted from these paths, like below:

Extracting file names from full path using Excel formulas - how to?

Of course nothing is impossible. You just need correct ingredients.

What we need to extract file names from full path text - Excel formulas

I cannot help you with a strong cup of coffee, so go and get it. I will wait…

Back already? well, lets start the formula magic then.

Extracting file name from a path

If you observe the file paths carefully, to extract the file name, we need to know,

  • Position of last \ in the full path text

Of course there are many methods find where the last \ is. You can find a very excellent summary of these techniques in our formula forensics #21 – finding the 4th slash.

Today, let us see a new technique (well, sort of).

Finding the position of last \ using formulas

Before writing any formula, first let me clarify the only assumption:

  • File path is in cell B4

Now, last \ is nothing but first \ when read from right.

Read that line again.

Got it? Good, lets move on.

How do we find the first \ from right?

If we can list down all individual characters from path right to left, then we just have to find the first \ in that.

Listing down individual characters from a given text

To get 5th character from text in B4, we can use MID formula like this:

=MID(B4,5,1)

Suppose you want both 5th and 6th characters from B4, you can use:

=MID(B4,{5,6},1)

This formula returns an array of 5th and 6th characters from the text in B4.

Cool, extending the logic, =MID(B4, {6,5},1) would give 6th & 5th characters in B4.

Idea!

If we can replace {6,5} with decreasing numbers starting from length of text B4 all the way to 1, then we can list all characters in B4, right to left.

But this leads us to next problem – listing numbers from a specific value (length of B4) to 1 in descending order.

Listing numbers from n to 1 in that order

We can use ROW() formula to generate sequence of numbers like this:

=ROW(1:10) will give {1,2,3…,10}

note: this returns an array, so you need to use it with Ctrl+Shift+Enter

So if we can use =ROW(1:LEN(B4)) we could get numbers from 1 to length of text in B4 {1,2….LEN(B4)}

Unfortunately this will not work as 1:LEN(B4) is not a valid reference.

But we can fix that with INDIRECT, like this:

=ROW(INDIRECT(“1:” & LEN(B4)))

Tip: INDIRECT formula lets you construct a reference by using values in other cells as shown above.

Alternative: You can also use OFFSET to get the same result like this: =ROW(OFFSET($A$1,,,LEN(B4))). More on OFFSET here.

But wait…

So far, we have only generated numbers from 1 to n. But we need numbers from n to 1.

No sweat, we just subtract the numbers {1,2…n} from n+1 to get the list {n,n-1,n-2….2,1}

Like this:

=LEN(B4)+1 – ROW(INDIRECT(“1:” & LEN(B4)))

Using these numbers to list characters in file path in reverse order

Take a sip of that coffee, its getting cold!

Now, lets integrate our numbers in to MID like this:

=MID(B4, LEN(B4)+1 – ROW(INDIRECT(“1:” & LEN(B4))), 1)

The blue portion gives you numbers {n…2,1}

The orange portion gives you letters from right to left.

But we wanted the last \

Oh right. We do not need these letters from right to left. We instead want to find the last \ in our file path. So now we just ask Excel where the first \ is in this reversed text.

=MATCH(“\”, MID(B4, LEN(B4)+1 – ROW(INDIRECT(“1:” & LEN(B4))), 1), 0)

Blue portion gives you letters in reverse order

Orange portion finds the first \ in that.

Tip: Learn more about MATCH formula.

Extract the file name

Once you know where the last \ is, finding the file name is easy.

use =MID(B4, position_of_last_slash + 1, LEN(B4))

We need to +1 because we do not want the slash in our file name.

Demo of the entire formula in action

Okay, lets see all these steps in action in one go.

Extract file name from full path using Excel formulas - Demo

How to find the extension?

Extension is few letters added at the end of file to indicate its type. For example, excel files usually have xls, xlsx, xlsm as extension.

So how to find this extension?

Extension & file name are separated by a dot .

But often file name itself can have a dot.

In other words, Extension is text in the file name followed by last dot.

Sounds like same problem as finding the last \ and extracting file name. So I will skip the details.

But assuming the file name is in D4, extension can be found with =RIGHT(D4,MATCH(“.”,MID(D4,LEN(D4)-ROW(INDIRECT(“1:”&LEN(D4))),1),0))

NOTE on both formulas

Both file name & extension formulas are array formulas. This means after typing them, you need to press Ctrl+Shift+Enter to see correct result.

Bonus tip: Getting the file names & path from a folder

If you ever want to list down all files in a folder use this.

  1. Open command prompt (Start > Run > Cmd or Start > Cmd)
  2. Go to the folder using CD
  3. Type DIR /s/b >files.csv
  4. Close command prompt

Now you can see all the files in that folder in files.csv. Double click on it to open in Excel and run your magic 🙂

Download Example workbook

Click here to download the example workbook. The file uses slightly different formulas. But works just the same. Examine it and learn more.

How do you extract file names & as such?

Do you use formulas or do you rely on some other technique to extract portions of text like file names, mail addresses etc. Please share your tips & ideas using comments.

Extract often? You will dig this.

Analysts life is filled with 3 Es – extraction, exploration & explanation. And like a good assistant, Excel helps you in all 3.

If you find yourself with a shovel, bucket and boat load of data often, you are going to enjoy these articles:

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

18 Responses to “Best Charts to Compare Actual Values with Targets – What is your take?”

  1. Andy Cotgreave says:

    Great post. I can't vote, though, because the answer I want to put down is "it depends". As with all visualisations, you've got to take into account your audience, your purpose, technical skills, where it will be viewed, etc.

  2. Jon Peltier says:

    I'm with Andy: It depends. Some I would use, some I might use, some I won't touch with a barge pole.
     
    Naturally I have comments 🙂
     
    The dial gauge, though familiar, is less easy to read than a linear type of chart (thermometer or bullet). It's really no better than the traffic lights, because all it can really tell you is which category the point falls in: red, yellow, or green.
     
    By the same token, pie charts are so familiar, people don't know they can't read them. Remember how long it takes kids to learn to read an analog clock?
     
    Bullet charts don't show trends.
     
    With any of the charts that have a filled component and a marker or ine component, it makes more sense to use the filled component (area/ column) for target, and the lines or markers for actual.

  3. [...] Best Charts to Compare Actual values with Targets (or Budgets … [...]

  4. Tony Rose says:

    I voted for #6 even though I agree with the other comments that it depends.

    The majority of the votes are for the #2, thermometer chart. I still have yet to understand what happens when you are above plan/goal, which was brought up in yesterday's post.

    Also, I agree with Jon in that it would be better to flip the series and make the filled part the target or goal and the line or marker the actual.

    I am also a fan of using text when appropriate if the data is among other metrics in a type of dashboard. Calling it out by saying actual and % achievement is a good option.

  5. Another "it depends" vote. Are you just looking at one or are you comparing a number of targets with actuals? You didn't include a text box. The problem with sentences is that they can get lost in a page of gray text. A text box can call attention to the numbers and line them up effectively.

    I'm with Jon: "Some I would use, some I might use, some I won’t touch with a barge pole" and I'm surprised that some of your readers voted for the last group.

  6. Bob Gannon says:

    Jon says:
    With any of the charts that have a filled component and a marker or line component, it makes more sense to use the filled component (area/ column) for target, and the lines or markers for actual.
    Why does this make more sense? I like 6 the way it is, although I would use a heavy dash for the plan/target marker.

  7. "It depends" is also my take. What I usually try to drill into my clients dashboard design is the fu ndamental difference between spot results (am I on target for this month) and long term trends.. I always try to create 3 different set of graphs to represent real perormance:
    - spot results vs objectives
    - cumulative results vs objectives
    - long-term trend (moving average) mostly) to see where we're going

  8. [...] Best Charts to Compare Actual Values with Targets – What is your take? (tags: excel charts) [...]

  9. Jamie Regan says:

    Jon says:
    With any of the charts that have a filled component and a marker or line component, it makes more sense to use the filled component (area/ column) for target, and the lines or markers for actual.
    Why does this make more sense? I like 6 the way it is, although I would use a heavy dash for the plan/target marker.

    I totally agree, Bob. I would normally favour a line for the target and a column for the actual, you can see quite easily then which columns break through the line, then.

  10. [...] best charts to compare actual values with targets — den Status mal anders zeigen, z. B. als Tacho [...]

  11. zzz says:

    Thermometer charts: "Not appropriate when actual values exceed targets" - this is easily solved by making the "mercury" portion a different color from the border, then you can clearly see where the expected range ends and the actual values keep going.

  12. Godsbod says:

    People seem to knock gauges quite a bit in dashboarding, but trying to show comparison of realtime data between operating sites and targets for each site can easily be done with a bank of gauges that have the optimal operating points at 12 o'clock.

    The human eye is great at pattern stripping, and any deviation of a gauge from the expected 12 position will quickly register with an operator and attract his attention. Using a colour background, or meter edge, will also indicate the sensitivity of a particular site.

  13. […] work laptop I have a favorites folder just dedicated to Excel charts.  Its got things like “Best Charts to Compare Actuals vs Targets” and “Best charts to show progress“. I love me some charts […]

  14. Albert says:

    I am wondering how will the plotting work, for some of the targets which may have been achieved before time. E.g. for the month of Jul the target was 226 and the actual was 219. So the chart will show a deficit in meeting the target by 7 points but what if this 7 may have been completed earlier in month of June. So ideally it not a deficit.

Leave a Reply