Job Title Matching Problem [Excel Homework]


Share on facebook
Share on twitter
Share on linkedin

Howdy folks. Almost the end of August here. Let’s wrap it up with a nice little partial text match in Excel challenge, inspired from my recent consulting gig. Say you are looking at few job titles that look similar and want to match them to correct title. Like below:

partial text match in Excel - how to match multiple job titles to one value?

The assumptions are,

  • Extra words or characters will be always at end
  • The job list may not be in alphabetical order

How would you match? Obviously VLOOKUP won’t cut it. I know over the week Microsoft released XLOOKUP to the beta testers out in wild, but that probably won’t cut it either. So what next? How would you solve this problem?

Well, that is your homework.

To participate, simply download job title matching problem worksheet and use either formulas, Power Query or VBA to match the jobs. Post your solution formulas, M scripts, macros or haiku in the comments.

Can’t solve or won’t bother? Here is the solution…

Oh well, I guess your job titles are far cleaner than what I am used to. If you are just impatient, the download problem file has hidden worksheet with formula solution and Power Query connection.

I made a video explaining the partial text match Excel problem, my solutions (both formula and PQ). Check it out below or on my YouTube Channel.

Bored at work or home, need a challenge? Solve these Excel problems…

Solving hard problems is a good way to learn new things. So if you are up for a challenge, check out below Homework problems.

Good luck and don’t forget to post your answers in comments.

Share on facebook
Share on twitter
Share on 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

Chandoo is an awesome teacher

– Jason

Excel formula list - 100+ examples and howto guide for you

100 Excel Formulas List

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

20 Excel Templates

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

Weighted average formula in excel

Weighted Average in Excel [Formulas]

Learn how to calculate weighted averages in excel using formulas. In this article we will learn what a weighted average is and how to Excel’s SUMPRODUCT formula to calculate weighted average / weighted mean.

What is weighted average?

Wikipedia defines weighted average as, “The weighted mean is similar to an arithmetic mean …, where instead of each of the data points contributing equally to the final average, some data points contribute more than others.”

Calculating weighted averages in excel is not straight forward as there is no built-in formula. But we can use SUMPRODUCT formula to easily calculate them. Read on to find out how.

8 Responses to “Job Title Matching Problem [Excel Homework]”

  1. sfunez says:

    not sure if this is the right answer but I made it this way : VLOOKUP(LEFT('Job title cell',LEN('Matching job cell')),'matching job range',1,FALSE) and it worked.

  2. jomili says:

    I made a list of the desired options, stored it in I3:I8, then did a simple VLookup like this:
    =VLOOKUP(LEFT([@[Job title]],10)&"*",$I$3:$I$8,1,FALSE)

  3. Dale A says:

    I made a list of Job Titles I was looking for in the range G4:G9 then did a lookup with this formula:

  4. Mark Knochel says:

    I'm a simple man. I deal with Lookups (INDEX/MATCH) using job titles from Project Controls vs HR, and have to normalize the titles. Something like this example allows me to make categories:
    =IFERROR(IFERROR(IFERROR(LEFT([@[Job title]], FIND(" -",[@[Job title]])-1), LEFT([@[Job title]], FIND(" (",[@[Job title]])-1)),LEFT([@[Job title]], FIND(" /",[@[Job title]])-1)),[@[Job title]])

  5. TerryW says:

    Hi Chandoo,

    Thanks for sharing an interesting task.

    I have both a formula approach and a power-query approach.

    Power Query Approach:

    Source = Excel.CurrentWorkbook(){[Name="jobs"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Job title", type text}, {"Matching Job (correct answer)", type text}, {"Your formula", type text}}),
    #"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "Job title", "Job title - Copy"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Duplicated Column", "Job title", Splitter.SplitTextByAnyDelimiter({"-","/","("}, QuoteStyle.Csv), {"Job title.1", "Job title.2"}),
    #"Trimmed Text" = Table.TransformColumns(#"Split Column by Delimiter",{{"Job title.1", Text.Trim, type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Trimmed Text",{{"Job title.1", "Matching Job Title"}, {"Job title - Copy", "Job title"}}),
    #"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"Job title", "Matching Job Title"})
    #"Removed Other Columns"

    By the way the jobs-sq-solution you provided may not work properly if the job titles are randomly located in Column B but not in the fashion of ABC, ABC -1, ABC /2, ABC (3) etc. So you probably want to add a step to sort the first column before expanding the source.

    Formula Approach:

    In Cell D4 enter the following array formula and drag it down.


    Both my solutions are based on the assumption that the additional job descriptions are followed by specific symbols in the text string. If there are more than 50k lines of data with more than 50 different symbols used in the text string, then my solution will fail or will need more work around. Yours is pretty efficient 🙂

  6. Robert H. Gascon says:

    My non-array formula is:
    1/(ISNUMBER(FIND([Job title],[@[Job title]]))*
    ([Job title][@[Job title]])),
    [Job title]),[@[Job title]])

  7. silvia says:

    Hello, another option coud be:



  8. marcin says:

    hi, my choice is:
    =IF(ISNUMBER(SEARCH([@[Matching Job (correct answer)]];[@[Job title]]))=TRUE;[@[Matching Job (correct answer)]];"")

Leave a Reply