Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 按数字范围对数据进行排序_Excel_Sorting_Numbers_Range - Fatal编程技术网

Excel 按数字范围对数据进行排序

Excel 按数字范围对数据进行排序,excel,sorting,numbers,range,Excel,Sorting,Numbers,Range,我收到了asc中按采购订单PO编号排序的数据表。 为了进一步分析数据,我应该按业务方向(例如部门或部门)进行分类。有一系列订单号,每个订单号都与特定方向有关,如1000-1999方向a、2000-2999方向B。 理想情况下,我需要它们以升序自动排序,下面是额外的总和行,上面是方向名称。 问题是,数字中的数字数量不受限制,这意味着对于一些额外订单,可能会在旁边加上一个数字,甚至是斜杠和字母,比如2000/A或20000,而最后一个数字应该在2000-2999位之间 什么方法可以解决这个问题?我不

我收到了asc中按采购订单PO编号排序的数据表。 为了进一步分析数据,我应该按业务方向(例如部门或部门)进行分类。有一系列订单号,每个订单号都与特定方向有关,如1000-1999方向a、2000-2999方向B。 理想情况下,我需要它们以升序自动排序,下面是额外的总和行,上面是方向名称。 问题是,数字中的数字数量不受限制,这意味着对于一些额外订单,可能会在旁边加上一个数字,甚至是斜杠和字母,比如2000/A或20000,而最后一个数字应该在2000-2999位之间


什么方法可以解决这个问题?

我不确定这是否能解决您的问题。此函数将从右侧连续收缩字符串,直到它成为数字。您可以将此函数输入vba模块,然后在电子表格中使用

Function getnumber(s As String) As Integer
    Dim i As Integer
    For i = Len(s) To 0 Step -1
        If IsNumeric(Left(s, i)) Then
            getnumber = Left(s, i)
            i = 0
        End If
    Next i
End Function
如果这行得通,我很高兴。如果没有,你需要澄清你在寻找什么


我建议的最大的一件事是重新定义您的输入,使其不那么乏味

那么你真的只关心字段的第一个数字吗?好吧,让我们这样说,第一个PO的范围是从1到99000,第二个是从100000到199999,依此类推。我最关心的是前6位数字,其余在数字末尾添加了不同内容的POs可能会手动排序。