Power Query lets you perform a series of steps to transform your Excel data.  There are times when we want to do things that are not built in the user interface.  This is possible with Power Query’s formula language, which is called M.

Unfortunately not all of Excel’s formulas can be used in M.

For example, if we want to use the Excel’s FIND Function to find a specific character in text, it is not supported in M.

Let me show you how I can replicate the FIND Function in M!

YouTube video
Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

DOWNLOAD EXCEL WORKBOOK

 

Let’s go through the steps in detail:

STEP 1: Select your data and turn it into an Excel Table by pressing the shortcut Ctrl + T or by going to Insert > Table

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

 

STEP 2: Go to Data > Get & Transform > From Table (Excel 2016) or Power Query > Excel Data > From Table (Excel 2013 & 2010)

Excel 2016:

 merge-columns-02

Excel 2013 & 2010:

from table

 

STEP 3: This will open up the Power Query Editor.

We want to get the position of the letter O of the Channel Partners, so we need to select the CHANNEL PARTNERS column.

Go to Add Column > Add Custom Column

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

 

STEP 4: Let us create a simple M expression to replicate the FIND function in Excel.

In the New column name text box, type FIND

In the Custom column formula, type in: Text.PositionOf(

From the Available columns choose CHANNEL PARTNERS and select Insert.

Then finish off the formula by entering  “o”) + 1 

We now have built the following formula:

Text.PositionOf([CHANNEL PARTNERS], “o”) + 1

 

So let us quickly break down what we just did:

  • We are using the Text.PositionOf formula to get the find the letter “o” in the CHANNEL PARTNERS column
  • We added 1 to it because the PositionOf formula starts counting at 0.   That is different to the FIND formula in Excel which starts counting at 1 as the 1st character.
  • So to replicate the FIND formula, we need to add 1 to our formula to make up for the difference.
  • Click OK to confirm.

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

Now you will see your changes take place.  For example, in “Widget Corp” the first “o” encountered is the 9th character in this text string.

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

 

STEP 5: Click Close & Load from the Home tab and this will open up a brand new worksheet in your Excel workbook with the updated values.

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

 

Congratulations!  You have used the M formula in Power Query to replicate Excel’s FIND function!

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

 

Replicating Excel's FIND Function with M in Power Query | MyExcelOnline

HELPFUL RESOURCES:

JOIN OUR FREE EXCEL COURSES BELOW
Click here to access these FREE Excel courses!

 

If you like this Excel tip, please share itEmail this to someone

email

Pin on Pinterest

Pinterest

Share on Facebook

Facebook

Tweet about this on Twitter

Twitter

Share on LinkedIn

Linkedin