OFFSET formula – Explained

Share

Facebook
Twitter
LinkedIn

Today, lets learn OFFSET formula.

What is OFFSET and why bother using it?

OFFSET formula gives us reference to a range, from a given starting point with given height and width in cells.

OFFSET formula syntax

OFFSET formula looks like this:

=OFFSET(starting point, rows to move, columns to move, height, width)

  • Starting point: This is a cell or range from which you want to offset
  • Rows & columns to move: How many rows & columns you want to move the starting point. Both of these can be positive, negative or zero. More on this below.
  • Height & width: This is the size of range you want to return. For ex. 4,3 would give you a range with 4 cells tall & 3 cells wide.

And yes, All the arguments to OFFSET can be references to other cells. That means, you can write =OFFSET(A1,D1,D2,D3,D4) which will refer to a range

  • Starting from A1
  • Offset by D1 rows & D2 columns
  • having the size of D3 rows & D4 columns

See below examples to understand the formula better.

OFFSET formula examples

Microsoft Excel OFFSET Formula Examples

Why use OFFSET?

Why not write a reference like A1:C4 directly?

Here are a few reasons why,

  1. Dynamic ranges: Reference like A1:C4 always refers to the range A1:C4. ie it is static. But sometimes, we want our ranges to be dynamic. This is required because our data is changing (every month new row is added, every time we launch a product new column is added etc.)
  2. We don’t know the exact address: Sometimes, we don’t know what our ranges actual address is. Rather, we just know it is starting from a certain cell etc. In such situations OFFSET is useful.

Understand OFFSET formula – Interactive Workbook

Since OFFSET formula is somewhat tricky to get, I created an interactive workbook so that you can understand how it works. When you input all the 5 parameters, the workbook highlights the range that your OFFSET will give. After playing with it for a few minutes, you will understand the formula better.

OFFSET Formula - Interactively explained - Click to download

 

Learn OFFSET formula - Download Interactive Workbook

Practical use for OFFSET – Average of latest week

Lets say we monitor quality of a plant producing purple puppets. One of the KPIs we monitor is % of rejected puppets. We have been tracking the % of rejects by day in a spreadsheet that looks like this:

Average of Latest Week - Practical use of OFFSET formula

So how do we calculate average of latest week?

Assuming the values are in range C3:C18, we can write =AVERAGE(C12:C18)

BUT, WE NEED TO CHANGE THIS FORMULA EVERYDAY!!!

Even puppets would find that boring.

By using the OFFSET awesome sauce, we can write the AVERAGE formula once and forget about it.

=AVERAGE(OFFSET(C3,COUNTA(C3:C300)-7,0,7,1))

Lets break-apart this formula and understand

  • To calculate latest week’s average, we need to go all the to the last data point and then get 7 rows from it and average those values.
  • This is where COUNTA(C3:C300) – 7 comes in to picture. It counts how many values are there in column C and then subtracts 7 from it.
  • The OFFSET would then starting point from C3 to latest week’s starting point.
  • To know how this formula works, watch below demo.

Average of latest week - OFFSET formula usage - demo

OFFSET limitations

While offset formula can return with a dynamic range when you beckon, it does have few limitations:

  • OFFSET formula is volatile: In plain English it means, whenever there is any change in your workbook, OFFSET formula is recalculated, thus keeping Excel busy a tiny bit longer. This is not an issue if you use OFFSET formula in a small workbook. But when you use lots of OFFSET formulas in large workbooks, you will end up cursing Excel as it takes too much time to recalculate.
  • OFFSET formulas are tricky to debug: Because the references are dynamic, debugging a workbook with lots of OFFSETs can get tricky quickly.

Alternatives to OFFSET formula

There 2 fine alternatives to OFFSET formula.

  • Use Excel Tables: Since Excel 2007, we can create tables from structured data and write formulas, create charts that refer to dynamic ranges with ease. Click here to know more about tables.
  • Use INDEX formula:  Although not exactly same as OFFSET, INDEX formula can also be used to generate dynamic range references. Plus, INDEX is a non-volatile formula, so it wont keep Excel busy unnecessarily. Know more about INDEX formula.

Do you use OFFSET formula?

For most of my dynamic range needs, I rely on tables or INDEX formula. I use OFFSET formula when I have to calculate values like average of latest week. In such cases OFFSET is an elegant solution.

What about you? Do you use OFFSET formula? In which situations do you use it? Please share your tips & examples with us using comments.

Know More about OFFSET

Check out below examples to understand OFFSET formula better:

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.

25 Responses to “Display Alerts in Dashboards to Grab User Attention [Quick Tip]”

  1. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which could also provide another piece of information.

  2. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which can also provide another piece of information.

    For Excel 2007, your formula should do the same as the Excel 2003 version, so that non-alert rows are blank - if they are 0, the unnecessary green icon will show

  3. Rohit1409 says:

    Hi Chandoo,

    Nice Post !! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  4. Rohit1409 says:

    Hi Chandoo,

    Nice Post !!! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  5. Rohit1409 says:

    The Complete formula [Don't Know how it got cut ]

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    PS : Use in single line [I have split it to avoid cuts 😉 ]

  6. Rohit1409 says:

    Hi Chandoo..

    why it is not displaying the complete formula..

    anyways here is the balance

    "=IF(A2<0.25,CHAR(153), IF(A2<=0.5,CHAR(155), IF(A2=0.76,CHAR(152)))))"

  7. Chandoo says:

    @Rohit... your formulas are fine. Just that the width of comment area is fixed and hence my website is cropping it at 640pixels. I just edited your formula and added few white spaces so that it wraps nicely.

    Very good idea btw.. kudos!

  8. Tom says:

    Hi,
    Maybe just go for 'bold' ; 'underline' or 'italic' to draw the users attention? Those methods (if those can be called methods) are used cross media type (books, journals, blogs, billboards, ...) to guide the readers eye to valuable information.
    Just a basic thought

  9. Chandoo says:

    @Tom.. good idea..

  10. [...] has a very nice writeup on how to add such alerts to dashboard sheets. Possibly related posts: (automatically generated)Divide your data set into workbooksHow to enforce [...]

  11. Ramesh Panakkal says:

    Hi Chandoo,

    You certainly grabbed my attention! although I wasn't sure what my brother (Suresh) and cousin (Shyam) were doing right, and I was doing wrong? 😉

    I love your blog btw - Many thanks for all your hard work in unravelling the secrets and mysteries of Excel!

    Best regards
    Ramesh

  12. Jeff Whitesel says:

    I thought I saw an advertisment for a book about learning excel called excel himalaya or something. It cost about 35.00 us money but seemed to have the things I need to have my admin assistant to start to use. I was hoping to start with this book and then send her to school if she shows some interest and aptitude. Any help on this would be appreciated. Thanks

    Great web site and information!!!!

  13. [...] There are lots of numbers in this dashboard. I would suggest adding few more visualizations like showing indicators or applying conditional formatting or replacing a table with a chart. This would reduce the [...]

  14. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  15. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  16. RROBBITT says:

    Hi Chandoo
    Firstly thanks for all the cool tips on how to use Excel better.

    I am new to the site and have a question which you may be able to assist with but dont know if these comment boxes are the best way of asking ?

    I am looking at assets and trying to calculate the depreciation total by taking a year (say 2010) adding the expected life of the asset (say 10 years) then comparing that to a future date (say 2015) using an IF statement. The calculation in normal is - IF((year in col B (2010) plus 10years)>year 2015, add a years depreciation, otherwise leave blank). The converted date value does not appear able to add 10 years in order to compare it to 2015. Am I missing something ?

  17. Rocky says:

    I use the “IF” Statement in conjunction with Conditional Formatting in MS Excel to give verbiage to alert one of a required action, dependant on a review date. This makes a visual stimulus, plus it clues one as to what the conditional format is trying to warn you about and what follow-up actions are required.

  18. Wow, I'm really impressed with dashboards. I had no idea this stuff was even possible with excel. I'd like to offer an interactive dashboard to my customers, showing analytics of their data. I have a .pdf file with the datapoints. I'd like them to enter the data on my website, and be able to see their data. Is something like that possible.

  19. Adam G says:

    Hi Chandoo,

    I've recently purchased the package for both templates.

    In the portfolio dashboard,under the calculations worksheet, I'm attempting to change the date range in the gantt chart to show only the range of the project that starts in late 2013.  How do I do this?

    Thanks
    Adam 

  20. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  21. Bianca says:

    Hi Chandoo,
    I'm new at Excel Dashboard and found your blog really useful and helpful! It's very nice of you that you dedicate your time to do this.
    Could you please explain how can I use Alerts based on dates on a Dashboar?
    For example, if a target date is coming closer to the actual date, the alert is yellow or red.
    I'd really appreciate some help!
    Thank you

  22. Marco says:

    Where can I download the file Excel of Averall Statistics ???
    Thanks a lot.

Leave a Reply