我已经过滤了我的Excel数据,现在我想对行进行编号。我怎么做?

时间:2014-10-03 11:44:15

标签: excel filtering

基本上我想做的就是在按照某个标准过滤我的数据后插入一个新列,然后在该列中插入连续的数字,每行一个。即,我在一栏中有这样的数据:

  

阿姆斯特朗,约翰

     

Beattie,Jane

     

库姆斯,约翰

我希望在它旁边运行一个新列,看起来像:

  <1>阿姆斯特朗,约翰

     

2 Beattie,Jane

     

3 Coombs,约翰

我尝试输入前几个数字,然后向下拖动以填充列的其余部分,但是当我这样做时,所有数字由于某种原因变为1。

感谢您的帮助。

9 个答案:

答案 0 :(得分:5)

好的,我找到了这个问题的正确答案here

以下是步骤:

  1. 过滤您的数据。
  2. 选择要添加编号的单元格。
  3. 按F5。
  4. 选择特殊。
  5. 选择“仅可见细胞”,然后按OK。
  6. 现在位于过滤数据的顶行(标题下方),输入以下代码:

    = MAX($“你的专栏信”$ 1:“你的专栏信”$“过滤器的当前行 - 1”)+ 1

    例如:

    = MAX($ A $ 1:A26)1

    将从单元格A27开始应用。

  7. 按住Ctrl键并按Enter键。

  8. 请注意,这仅适用于某个范围,而不适用于表格!

答案 1 :(得分:1)

我遇到了同样的问题。我不是专家,但这是我们使用的解决方案: 在筛选数据之前,首先要创建一个临时列,以使用原始排序顺序填充整个数据集。自动编号临时&#34;原始排序顺序&#34;柱。现在过滤您的数据。将过滤后的数据复制并粘贴到新工作表中。这会将过滤后的数据仅移动到新工作表,以便您的行号将成为连续的。现在自动编号您想要的字段。返回原始工作表并删除已过滤的行。将新编号的数据从辅助工作表复制并粘贴到原始工作表的底部。然后清除过滤器并按临时&#34;原始排序顺序排序工作表&#34;柱。这会将新编号的数据恢复为原始顺序,然后您可以删除临时列。

答案 2 :(得分:1)

尝试此功能:

$lastPosts = Post::find()->orderBy("post_id DESC")->limit(3)->all();
foreach ($lastPosts as $post) {
    // ...
}

您可以在此blog entry中找到更多详细信息。

答案 3 :(得分:0)

试试这个:

在第一行设置值1(例如单元格A1

在下一行设置:=A1+1

最后自动填充剩余的行

答案 4 :(得分:0)

添加列例如&#39;已选择&#39;第一。 然后过滤您的数据。 转到“已选择&#39;”列。为所有行提供任何代理文本或数字。喜欢&#39; 1&#39;或者&#39; A&#39; - 现在您的隐藏行是空白 现在,清除过滤器并使用排序 - 两个级别 排序方式 - &#39;已选择&#39;升序 - 这会在底部留下空白单元格 添加排序级别 - &#39;您想要的任何列&#39;你的订单

现在,为什么不自己拖动自动填充

糟糕,我在这里没有声誉。

答案 5 :(得分:0)

我有同样需要为另一列上的每个值填充一个带有序列系列的列。我尝试了上面的所有答案,无法解决问题。我用一个简单的VBA宏解决了它。

我的数据具有相同的结构(但有3000行):

  • N2是过滤表的列;
  • N3是我要填写系列的专栏;

A |乙

N2 | N3

1 | 1

2 | 1

3 | 1

1 | 2

6 | 1

4 | 1

2 | 2

1 | 3

5 | 1

下面是代码:

> Sub Seq_N3() ' ' Seq_N3 Macro ' Sequence numbering of N3 based on N2 value
> do N2 
>     Dim N2 As Integer
>     Dim seq As Integer
> 
>         With ActiveSheet
>             
>             For N2 = 1 To 7 Step 1
>             seq = 1                 ' 
>             .Range("B2").Select     ' 
>             
>                 Do While ActiveCell.Offset(0, -1).Value2 <> 0
>                     
>                     If ActiveCell.Offset(0, -1).Value2 = N2 Then        
>                         ActiveCell.Value2 = seq                         
>                         seq = seq + 1                                   
>                         ActiveCell.Offset(1, 0).Select
>                     Else
>                         ActiveCell.Offset(1, 0).Select                  
>                     End If
>                     
>                 Loop
>                 
>             Next N2
>                    
>         End With End Sub

希望它有所帮助!

答案 6 :(得分:0)

步骤1:突出显示要填充的列的整个列(不包括标题)

步骤2 :(使用Kutools)在“插入”下拉列表中,单击“&#34;填写自定义列表&#34;

第3步:点击修改

步骤4:创建列表(例如:1:2)

步骤5:选择新的自定义列表,然后点击&#34;填写范围&#34;

DONE !!!

答案 7 :(得分:0)

最简单的方法是从总数据顶部删除过滤器,填充系列。重新过滤所需数据,将数字列表复制到新工作表(这应该只是要添加编号的总行数)粘贴到A1列。在列B1中添加“1”,右键单击并按住,然后向下拖动到数字末尾并选择“填充系列”。现在返回到包含过滤器的列表,并在右侧“VLOOKUP”的下一列中,将过滤后的数字与您粘贴到新工作表中的列表相对应,并返回第二个值。

答案 8 :(得分:0)

最好的选择是使用公式 =Row()-Row(ColumnHeaderCell) 然后将其应用于整个列 [但这不适用于过滤器行号]