Marcya has a long list of sorted numbers in column A of a worksheet. These numbers are supposedly consecutive, but she doesn't know if that is true. Examining the list manually is both tedious and error-prone, so Marcya wonders if there is a way to somehow highlight any "missed numbers" (those that aren't consecutive with the one before) or to compile a list of numbers that were missed in the list.

There are a number of ways you can go about figuring out where there are missing numbers. The first is one I use quite often: I add a helper column next to column A. Assuming your numbers start in cell A1, I put this into cell B2:

=IF(A2<>A1+1,"Error","")

Copy the formula down as many cells as necessary, and you'll easily see the word "Error" next to any value that isn't consecutive to the value just above it. If you prefer to know a bit more about the error, you could use a more detailed formula:

=IF(A2=A1,"Duplicate",IF(A2<>A1+1,"Gap",""))

Another approach is to use conditional formatting on the cells in column A. Follow these steps, again assuming that your values start in cell A1:

- Select the range A2 through the last value in column A.
- With the Home tab of the ribbon displayed, click the Conditional Formatting option in the Styles group. Excel displays a palette of options related to conditional formatting.
- Choose Highlight Cells Rules and then choose More Rules from the resulting submenu. Excel displays the New Formatting Rule dialog box. (See Figure 1.)
- In the Select a Rule Type area at the top of the dialog box, choose Use a Formula to Determine Which Cells to Format.
- In the Format Values Where This Formula Is True box, enter this formula:
**=A2<>A1+1** - Click Format to display the Format Cells dialog box.
- Using the controls in the dialog box, specify a format that you want used to highlight the cells that are not consecutive.
- Click OK to dismiss the Format Cells dialog box. The formatting you specified in step 7 should now appear in the preview area for the rule.
- Click OK.

** Figure 1.** The New Formatting Rule dialog box.

Finally, if you want to compile a list of the missing numbers in a consecutive series, you can use an array formula. Place the following into row 1 of an empty column:

=IFERROR(SMALL(IF(COUNTIF($A$1:$A$135, MIN($A$1:$A$135)+ROW($1:$135)-1)=0, MIN($A$1:$A$135)+ROW($1:$135)-1),ROW(A1)),"")

Remember that this is a single array formula, so you need to enter it as a single line using **Ctrl+Shift+Enter**. You can then copy the formula down a number of cells, until it doesn't return any more values. Also, the formula assumes that your series in in the range A1:A135; if it is not, you'll need to modify the formula to reflect the actual range.

*ExcelTips* is your source for cost-effective Microsoft Excel training.
This tip (4315) applies to Microsoft Excel 2007, 2010, 2013, and 2016.

**Program Successfully in Excel!** John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out *Excel 2013 Power Programming with VBA* today!

An amortization schedule is a report that shows how the outstanding balance on a loan changes with payments made over ...

Discover MoreYou can use the Alt+Enter keyboard shortcut while entering information in order to force your data onto multiple lines in ...

Discover MoreThe filtering capabilities of Excel are excellent, providing you with great control over which records in a worksheet are ...

Discover More**FREE SERVICE:** Get tips like this every week in *ExcelTips,* a free productivity newsletter. Enter your address and click "Subscribe."

2021-07-30 03:17:56

Peter Atherton

Lona

The formulas for the helper cells are:

=MIN (right(rng)+0) and

=Max(Right(range)+0)

Both are entered as Ctrl + Shift + Enter (CSE) and Excel wraps the formulas in curly brackets. In the code these are cells F3 and F4 and are the values for the variables M and N.

The last post was supposed to include a picture to make this clear, I'll try again.

(see Figure 1 below)

**Figure 1.**

2021-07-30 03:00:17

Peter Atherton

The following needs two helper cells to get the min & max of the numbers; these are both array formulas. The code works up to numbers 999 and will need to be modified for numbers 1000 - 9999, 10000 - 99999 and so on.

Function AllThere(MyRange As Range)

Dim m As Integer, n As Integer

Dim There As Variant, i As Long, cell As Range

m = [f3]: n = [f4]

ReDim There(m To n)

On Error Resume Next

For Each cell In MyRange

There(Right(cell.Value, 3)) = 1

Next

On Error GoTo 0

AllThere = "Missing: "

For i = m To n

If Not There(i) = 1 Then

AllThere = AllThere & i & ", "

End If

Next i

If Len(AllThere) = 9 Then

AllThere = "All There"

Else

AllThere = Left(AllThere, Len(AllThere) - 2)

End If

End Function

{[fig}]

2021-07-28 11:52:03

Lona

What if my numbers start with two letters, RC_100, RC_101

2021-05-07 03:23:12

Mike

If, for example, A1 contains 100 and the sorted list is from A1 to A135, the formula will not reveal any gaps greater than 235.

In other words, all gaps greater than (MIN(A1:A135) + 135) will be missed.

2021-05-06 11:57:11

robert Lohman

The UDF (User Defined Function) that I noted does not care about consecutive numbers. Works with any list of numbers.

2021-05-05 17:10:57

Robert Lohman

Function AllThere(MyRange As Range)

Dim There(1 To 99) As Integer

On Error Resume Next

For Each cell In MyRange

There(cell.Value) = 1

Next

On Error GoTo 0

AllThere = "Missing: "

For i = 1 To 99

If Not There(i) = 1 Then

AllThere = AllThere & i & ", "

End If

Next i

If Len(AllThere) = 9 Then

AllThere = "All There"

Else

AllThere = Left(AllThere, Len(AllThere) - 2)

End If

End Function

2021-05-05 13:44:04

Mark

Is there a way to check for missing numbers, if the list to search from is not in consecutive order?

2021-05-05 10:19:56

Mike

2020-11-03 06:21:28

Peter Atherton

You can,, as stated in the last paragraph, copy the formula down to get the next value(s), When this is done, the Cell reference in the last part of the formula changes from Row(A1) to Row(A2) and the small value hence uses the fist then the second value.

{=IFERROR(SMALL(IF(COUNTIF($A$1:$A$135, MIN($A$1:$A$135)+ROW($1:$135)-1)=0, MIN($A$1:$A$135)+ROW($1:$135)-1),ROW(A1)),"")}

{=IFERROR(SMALL(IF(COUNTIF($A$1:$A$135, MIN($A$1:$A$135)+ROW($1:$135)-1)=0, MIN($A$1:$A$135)+ROW($1:$135)-1),ROW(A2)),"")}

2020-11-02 18:29:06

Jair

If i paste this formula

=IFERROR(SMALL(IF(COUNTIF($A$1:$A$135,

MIN($A$1:$A$135)+ROW($1:$135)-1)=0,

MIN($A$1:$A$135)+ROW($1:$135)-1),ROW(A1)),"")

it will apears only the first missing number how about the next missing gap?

2019-08-05 16:30:52

Gail

This is perfect! You have saved me a ton of time.

2017-09-08 10:09:56

Yvan Loranger

Put in B2 =IF($A2-$A1>column()-1,$A1+column()-1,"") and replicate.

Result:

row col.A col.B col.C col.D

1 -5

2 -1 -4 -3 -2

3 0

4 2 1

5 3

2nd solution:

Put in B2 =IF(A2-A1>1,A1+1&"-"&A2-1,"") and replicate.

Result:

row col.A col.B

1 -5

2 -1 -4--2

3 0

4 2 1-1

5 3

Got a version of Excel that uses the
ribbon interface (Excel 2007 or later)?
**This site is for you!** If you
use an earlier version of Excel, visit
our *ExcelTips* site focusing on the menu interface.

**FREE SERVICE:** Get tips like this every week in *ExcelTips,* a free productivity newsletter. Enter your address and click "Subscribe."

Copyright © 2021 Sharon Parq Associates, Inc.

## Comments