Extract currency amounts from text – Power Query Tutorial

Let’s say you got some text values and want to extract the amounts from them. Something like this:

extract-amounts-from-text

Note: Thanks to Monty for posting this problem on our forum.

How to go about it?

We could use a variety of techniques to extract the values.

Extracting amounts from text items – Power Query Tutorial

  1. Specify a list of currency codes. Create a table in Excel and mention the codes. Something like below. Let’s name this table as codes 
    currency-codes
  2. Load text data in to Power Query (Use Power Query > from Table or Data > from Table). We get this:
    text-values-loaded-into-pq
  3. Now, let’s bring in currency codes as a cross join. To do this, just insert a new custom column. In the formula section, type
    = Excel.CurrentWorkbook(){[Name=”codes“]}[Content]

    addin-codes-table-to-text-data

  4. This will bring a new column with all currency codes as tables. Expand the column to cross join both tables. See below demo.
    expand-corss-join-two-tables
  5. Now, add a conditional column to check which currency code is present in the text data. You can use below settings:

    conditional-column-on-codes

  6. At this stage, our PQ data looks like this:

    currency-codes-found

  7. Now, let’s filter away any nulls in the Found? column.
  8. Splitting each row by the currency code in next column: this is the tricky part. We can use Text.Split() to split a text value by delimiter. But the result will be a list. We just want one of the items of that list. Simple, we can pass the result of Text.Split() to List.Last() to get that. Use below formula:=List.Last(Text.Split([String],[Custom.Codes]))

    column-formula-to-extract-amount-from-text

  9. We get this:

    output-after-extracting-amounts-almost

  10. Now, convert the Amount column to decimal number. This will throw errors for incorrect values like .530.680268. Simply remove all these errors.

    amounts-after-converting-to-number

  11. Tidy up by removing unnecessary columns and renaming the rest. Load in to Excel. Here is a snapshot of cleaned data.

    final-output-amounts-from-text

Download Example Workbook

Click here to download sample workbook. Try cleaning the data in first tab yourself using PQ. You will realize how awesome and simple this approach is compared to either formula or VBA driven methods.

How are you using Power Query?

These days, PQ (or get data & transform as it is known in newer versions of Excel) has become my go to tool for most data polishing, cleanup and reshaping problems. What about you? Are you addicted to PQ yet? Please share your experiences and wins in the comments section.

More ways to extract, clean and massage data with Power Query:

If this looks interesting, check out below tuts to learn more about PQ.