2

I have a column (A) with numbers in order from 5000 to 6000. Now, some numbers are missing. For example number 5004 is missing from the column bellow.

  1. 5000
  2. 5001
  3. 5002
  4. 5003
  5. 5005
  6. 5006
  7. ...
  8. 6000

So, number 5004 is missing. How can I find all the numbers that are missing?

Just Me
  • 864
  • 2
  • 18
  • 28

1 Answers1

3

If you want it in many then put this in the first cell and copy/drag down:

=IFERROR(AGGREGATE(15,6,ROW(INDIRECT("5000:6000"))/(ISERROR(MATCH(ROW(INDIRECT("5000:6000")),A:A,0))),ROW(1:1)),"")

enter image description here

If you have Office 365 Excel and you want it in one cell then use this array formula:

=TEXTJOIN(",",TRUE,IF(ISERROR(MATCH(ROW(INDIRECT("5000:6000")),A:A,0)),ROW(INDIRECT("5000:6000")),""))

Being an array formula it needs to be confirmed with Ctrl-Shift-Enter instead of Enter when exiting edit mode. If done correctly then Excel will put {} around the formula.

![enter image description here


If you do not have Office 365 Excel and you still want it in one cell then you will need vba.

Put this UDF in a module attached to the workbook, and use the TEXTJOIN() formula described above.

Function TEXTJOIN(delim As String, skipblank As Boolean, arr)
    Dim d As Long
    Dim c As Long
    Dim arr2()
    Dim t As Long, y As Long
    t = -1
    y = -1
    If TypeName(arr) = "Range" Then
        arr2 = arr.Value
    Else
        arr2 = arr
    End If
    On Error Resume Next
    t = UBound(arr2, 2)
    y = UBound(arr2, 1)
    On Error GoTo 0

    If t >= 0 And y >= 0 Then
        For c = LBound(arr2, 1) To UBound(arr2, 1)
            For d = LBound(arr2, 1) To UBound(arr2, 2)
                If arr2(c, d) <> "" Or Not skipblank Then
                    TEXTJOIN = TEXTJOIN & arr2(c, d) & delim
                End If
            Next d
        Next c
    Else
        For c = LBound(arr2) To UBound(arr2)
            If arr2(c) <> "" Or Not skipblank Then
                TEXTJOIN = TEXTJOIN & arr2(c) & delim
            End If
        Next c
    End If
    TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim))
End Function
Scott Craner
  • 148,073
  • 10
  • 49
  • 81