Excel-查找所有数字并将其放在单个列中

时间:2018-11-07 17:48:25

标签: excel

我在单列中给出了很多数字,但是每列之间都有很多数据。有没有一种方法可以将所有数字提取到单个列中,而每个数字都直接位于该列中另一个数字的下方?

2 个答案:

答案 0 :(得分:1)

这是一个可以满足您的需求的示例。

A 列中包含数字,文本值和空值的数据的情况下,请在 C1 中输入:

=IFERROR(INDEX(A:A, AGGREGATE(15, 6, ROW($1:$999)/(ISNUMBER(A:A)), ROW(1:1))),"")

并向下复制:

enter image description here

如您所见,该公式基本上可以过滤掉所有文本值。

答案 1 :(得分:0)

使用vba: 将此粘贴到标准模块中并运行

Sub ListNumbers()

    Dim mix As Range, num As Range, c As Range, lst As Range, i As Integer

    Set mix = Application.InputBox("Select a mixed range", "Mixed", Range(Cells(1), Cells(1048576, 1).End(xlUp)).Address, Type:=8)
    Set res = Application.InputBox("Select first cell for result", "Result", Cells(1048576, 2).End(xlUp).Offset(1).Address, Type:=8)

    For Each c In mix
        If IsNumeric(c) = True Then
            res.Offset(i).Value = c.Value
            i = i + 1
        End If
    Next c

    If MsgBox("Do you wan´t to sort the result", vbYesNo, "Sort") = vbYes Then
        Set lst = res.Resize(i)
        lst.Sort key1:=lst, order1:=xlAscending, Header:=xlNo
    End If

End Sub