Excel Formula Errors – Understand and Debug Them

Share

Facebook
Twitter
LinkedIn

Excel formula error checklist and how to fix excel errorsImagine carefully creating a workbook with several calculations and formulas only see errors. What to do when you get an Excel formula error? Of course, you can shake your head and ask, “Why, why would you do that?”, but that will not help.

What to do when you have an Excel error like #NA or #REF

So in this article let’s learn how to fix Excel formula error. Those annoying #SOMETHING!s that you see when your excel formulas have something wrong with them.

Excel Formula Error Checklist

Use this checklist to quickly understand common formula errors, what they mean, when you would see them and how to fix them. Read on to know more about the errors.

ErrorWhat it means?Most common reasonHow to fix it?
#N/ANot ApplicableWhen VLLOKUP can't find what you wantMake sure your list has the value you are looking for. Use IFERROR or IFNA to fix
#DIV/0!Divide by ZeroDenominator is zeroUse IF formula to safe divide
#NAME?Could not find the nameSpelling mistake / typoDouble check your formula and fix the error
#########Could not display or formatCell too smallAdjust column width
#VALUE!Invalid valueConverting non-dates or numbersMake sure your dates are correctly formatted
#REF!Reference missingWhen you delete a row / column / cellCheck cell dependancies before deleting
#NUM!Invalid numberNumber too high or too lowCheck your calculation
#NULL!Missing or null valueReference points to nothingSee if your references are right

#N/A Formula Error

This is one of the most frequent excel formula error you see while using vlookup formula. The N/A error is shown when some data is missing, or inappropriate arguments are passed to the lookup functions (vlookup, hlookup etc.) of if the list is not sorted and you are trying to lookup using sort option. You can also generate a #N/A error by writing =NA() in a cell.

How to fix #N/A error?

Make sure you wrap the lookup functions with some error handling mechanism. For eg. if you are not sure the value you are looking is available, you can write something like =IFERROR(VLOOKUP(…), “Value not found”). This will print “value not found” whenever the vlookup returns any error (including #N/A)

Related: Learn more about IFERROR formula

#DIV/0! Formula Error

This is the easiest of all. When you divide something with 0, you see this error. For eg. a cell with the formula =23/0 would return in this error.

How to fix #DIV/0 error?

Simple, use IF formula to safe divide, like this:

=IF(A2=0, “”, A1/A2)

 

#NAME? Formula Error

The most common reason why you see this error is because you misspelled a formula or table or named range. For eg. if you write =summa(a1:a10) in a cell, it would return #NAME? error. There are few other reasons why this can happen. If you forget to close a text in double quotes or omit the range operator :. All these examples should return #NAME? error. =sum(range1, UNDEFIED_RANGE_NAME), =sum(a1a10)

How to fix #NAME? Error?

  • Make sure you have mentioned the correct formula name. Use auto-complete when typing formulas. This way, when you type formulas or use names / structural references, you will not make any mistakes.
  • Make sure you have defined all the tables and named ranges you are using in the formula.
  • Make sure any user defined functions you are using are properly installed.
  • Double check the ranges and string parameters in your formulas.

###### Error

You see a cell full of # symbols when the contents cannot fit in the cell. For eg. a long number like 2339432094394 entered in a small cell will show ####s. Also, you see the ###### when you format negative numbers as dates.

How to fix the ###### error?

Simple, adjust the column width. And if the error is due to negative dates, make them positive.

#VALUE! Excel Formula Error

Value error is shown when you use text parameters to a function that accepts numbers. For eg. the formula =SUM(“ab”,”cd”) returns #VALUE! error.

How to fix the #VALUE! error?

Make sure your formula parameters have correct data types. If you are using functions that work on numbers (like sum, sumproduct etc.) then the parameters should be numbers.

#REF!  Formula Error

This is one of the most common error messages you see when you fiddle with a worksheet full of formulas. You get #REF! Excel formula error when one of the formula parameters is pointing to an invalid range. This can happen because you deleted the cells. For eg. try to write a sum forumla like =SUM(A1:A10, B1:B10, C1:C10) and then delete the column C. Immediately the sum formula returns #REF! error.

How to fix the #REF! error?

First press ctrl+Z and undo the actions you have performed. And then rethink if there is a better way to write the formula or perform the action (deleting cells).

#NUM! Excel Error

This is number error that you see when your formula returns a value bigger than what excel can represent. You will also get this error if you are using iterative functions like IRR and the function cannot find any result. For eg. the formula =4389^7E+37 returns a #NUM! error.

How to fix #NUM! error?

Simple, make your numbers smaller or provide right starting values to your iterative formulas.

#NULL! Formula Error

This is rare error. When you use incorrect range operators often you get this error. For eg. the formula =SUM(D30:D32 C31:C33) returns a #NULL! error because there is no overlap between range 1 and range2.

How to fix the #NULL! error?

Make sure you have mentioned the ranges properly.

Formula not working – showing as text?

If you don’t see any error, but instead of seeing the result, all you see is your formula (like below), then check out Formulas not working page for information how to fix the problem.

excel formula showing as text - What to do when all you see is the formula, not result

Further Reading on Excel Formula Debugging

Formula Debugging using F9 Key

Learn to work with Circular References

Understand the difference between absolute and relative references

How to work with tables & structural references

Detect errors in your formulas [Office.com]

How to use new ERROR.TYPE formula to work with errors

Tell me how you debug formulas? What is the most common error you get?
What is the strangest and most confusing error you have seen? Please share in the comments so we can all have a laugh and find a way to fix the problem.

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.

30 Responses to “Rescue oddly shaped data – Battle between Formulas, VBA and Power Query”

  1. MF says:

    Nice use of Power Query! Power Query is simply awesome! But somehow a lot of people are punishing themselves by not using it (not learning it).

    An imperfect 4th approach for consideration... no codes at all...
    Select myrange.
    Go to Special --> Blank
    Delete Cell --> Shift cell left
    90% done... now we just need to move the data of 2nd column to the bottom of 1st column
    Of course... Power Query is the best.
    Cheers,

  2. There is another way but it involves multiple steps:
    Copy the values in column E, move the cursor to F5, Paste Special with Skip Blanks, OK
    Copy the values in column D, move the cursor to F8, Paste Special with Skip Blanks, OK
    And so on.
    This works perfectly, albeit a little clumsily apart from the values in B17 and C16, which can be moved with simple copy and paste

  3. Robson says:

    Power Query Forever! I do not know how I survived for so long without knowing and using this tool, I can not recommend it to my colleagues, but by the way they prefer to suffer to learn.

    My congratulations here from Brazil.

  4. Haz says:

    I rolled my eyes when I saw that data

    Using decimal places is a nice trick to order data, thanks for that

    And tweaking the first formula a bit, you can use OFFSET instead of INDIRECT

    =OFFSET($A$1, MIN(IF(myrange, ROW(myrange)), ROWS(A$1:A1))-1, RIGHT(TEXT(MIN(IF(myrange, ROW(myrange) + COLUMN(myrange)*0.00001), ROWS(A$1:A1)), ".00000"), 5)-1)

    • Michael Connor says:

      Tried the above formula with the downloaded oddly shaped data file and I could not get it to work. I get #value without ctrl+shift+enter, and #ref with ctrl+shift+enter.

      • Haz says:

        Sorry, it was SMALL, not MIN.
        Add with CTRL+SHIFT+ENTER.

        • Michael Connor says:

          Thank you for your formula. Like the indirect formula I tested this one in older versions of EXCEL and it worked without ALTERATION in EXCEL 95. Very impressive.

  5. Bertie Hechter says:

    Too complicated

    Use =Sum to summarize all the sells to the left and Bobs Your Uncle

  6. Michael Connor says:

    I tested this formula in versions of Excel all the way back to Excel 95

    =IF(ISERROR(INDIRECT("R"&SUBSTITUTE(TEXT(SMALL(IF(MyRange"",ROW(MyRange)+COLUMN(MyRange)*0.00001),ROWS(A$1:A9)),"00000.00000"),".","C"),FALSE)),"",(INDIRECT("R"&SUBSTITUTE(TEXT(SMALL(IF(MyRange"",ROW(MyRange)+COLUMN(MyRange)*0.00001),ROWS(A$1:A9)),"00000.00000"),".","C"),FALSE)))

    So there are multiple ways of cleaning up messy data by formulas.

    • Chandoo says:

      Wow.. Excel 95. Who knew people still use that. But as you have shown, Excel has all these beautiful and powerful functions for 23 years. It has data sciency stuff before DS was even a thing.

      • Michael Connor says:

        I had a problem with pasting the formula in the original post.
        Formula should be: =IF(ISERROR(INDIRECT("R"&SUBSTITUTE(TEXT(SMALL(IF(myrange"",ROW(myrange)+COLUMN(myrange)*0.00001),ROWS(A$1:A1)),"00000.00000"),".","C"),FALSE)),"",(INDIRECT("R"&SUBSTITUTE(TEXT(SMALL(IF(myrange"",ROW(myrange)+COLUMN(myrange)*0.00001),ROWS(A$1:A1)),"00000.00000"),".","C"),FALSE)))

        EXCEL even in a 16 bit version, is a very robust and capable program.

  7. Michael Connor says:

    I don't like the VBA code. If you have a blank row in MyRange, the last entry in the range is doubled up in the paste.here range.

    • Chandoo says:

      Not really. The macro is writing one cell at a time from paste.here. You have to clean the range before, which I was too lazy to write. But a line like Range(range("paste.here"), range("paste.here").end(xldown)).clearcontents should do the trick.

      • Michael Connor says:

        Adding Range(range("paste.here"), range("paste.here").end(xldown)).clearcontents fixed the problem.

  8. A Rakesh Patro says:

    for step split column by delimiter i am not getting option of split into rows or columns. Can you help me in this

  9. Marc says:

    Thanks Chandoo for promoting Power Query.

    To simplify further, you can "Unpivot Columns" instead of right click on the newly created column and split it by comma in to rows in step 3 of Power Query.

  10. johan says:

    i used

    =LOOKUP(10000,B5:F5)

    and got the answers. I just plagiarized this formula somewhere and use it, maybe you can explain why it works.
    Regards

    • Chandoo says:

      @Johan... I am not sure if the formula works correctly. When I tested it with the sample data in this post, it showed #N/As in two cells. Essentially, it will only give first value in each row. So if a row has multiple values, then subsequent values are missed. LOOKUP() function goes thru a list and finds the first value that is less than or equal to the input - in this case 10000 in B5:F5.

  11. Ben says:

    I have the need to convert pdf's to excel on occasion and they often come out a mess like this. I have used:

    Cell G2 =COUNT(myrange)
    Cell G3 =IFERROR(IF(G2-1<1,"",G2-1),"") copied down to G100
    Cell H2 =IFERROR(LARGE(myrange,G2),"") copied down to H100

  12. Patrick says:

    Waouw...

    =IFERROR(INDIRECT("R" & SUBSTITUTE(TEXT(SMALL(IF(myrange "", ROW(myrange) + COLUMN(myrange)*0.00001),
    ROWS(A$1:A1)), "00000.00000"), ".", "C"), FALSE), "")

    but CTRL Shift Enter with {} before and after 🙂 😀

  13. Peter B says:

    Another possibility.
    This assumes that you have a row index 'k' to use in the SMALL function and a column index 'h' to identify the columns of 'myRange'.
    If you define 'coord' to refer to
    =k+h/10 [assuming h<10]
    then it will be possible to recover values later based upon location within 'myRange'. The formula 'nb' that identifies non-blanks by coordinates is given by
    = SMALL( IF(myRange"", coord), k )
    Finally, to unpick the pieces
    = INDEX( myRange, INT(nb), 10*MOD(nb, 1) )

  14. Peter B says:

    Whilst I am here and making trouble the PQ solution is also a tad over-complicated. All that is needed is to unpivot the entire table and remove the Attribute column.

    The advanced editor would show
    let
    Source = Excel.CurrentWorkbook(){[Name="myRange"]}[Content],
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"})
    in
    #"Removed Columns"

  15. vivian.liu says:

    1.fill the blank cells with 0
    2.the requested column value=sum of those mess number column
    but this can be used in only one column has value

  16. Juan Carlos Barreto says:

    Chandoo

    And if we use the formula SEARCH (100000000, B5: F5)

    JC

  17. Daniel Dion says:

    Another approach with Power Query, it will still work if the number of columns changed:
    let
    Source = Excel.CurrentWorkbook(){[Name="myrange"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "List", each Record.ToList(_)),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"List"}),
    #"Expanded LIst" = Table.ExpandListColumn(#"Removed Other Columns", "List"),
    #"Filtered Rows" = Table.SelectRows(#"Expanded LIst", each ([List] null))
    in
    #"Filtered Rows"

  18. Bob says:

    Nowadays, you can just use TOCOL on Excel 2024, MS 365, and Web Excel. It has a parameter to ignore blanks/errors/both.

Leave a Reply