【发布时间】:2014-11-28 11:27:24
【问题描述】:
基本上,我要做的就是在按特定标准过滤我的数据后插入一个新列,然后在该列中插入连续的数字,每行一个。即,我在一列中有这样的数据:
阿姆斯特朗,约翰
比蒂,简
库姆斯,约翰
我希望在它旁边运行一个新列,所以它看起来像:
1 阿姆斯特朗,约翰
2 比蒂,简
3 库姆斯,约翰
我尝试输入前几个数字,然后向下拖动以填充列的其余部分,但是当我这样做时,由于某种原因,所有数字都变为 1。
【问题讨论】:
基本上,我要做的就是在按特定标准过滤我的数据后插入一个新列,然后在该列中插入连续的数字,每行一个。即,我在一列中有这样的数据:
阿姆斯特朗,约翰
比蒂,简
库姆斯,约翰
我希望在它旁边运行一个新列,所以它看起来像:
1 阿姆斯特朗,约翰
2 比蒂,简
3 库姆斯,约翰
我尝试输入前几个数字,然后向下拖动以填充列的其余部分,但是当我这样做时,由于某种原因,所有数字都变为 1。
【问题讨论】:
试试这个:
在第一行设置值 1(例如单元格 A1)
在下一行设置:=A1+1
最后自动完成剩余的行
【讨论】:
好的,我找到了这个问题的正确答案here
步骤如下:
现在在过滤数据的第一行(标题下方)输入以下代码:
=MAX($"Your Column Letter"$1:"Your Column Letter"$"过滤器的当前行 - 1") + 1
例如:
=MAX($A$1:A26)+1
将从单元格 A27 开始应用。
按住 Ctrl 并按 Enter。
请注意,这只适用于范围,不适用于表格!
【讨论】:
我遇到了同样的问题。我不是专家,但这是我们使用的解决方案: 在过滤数据之前,首先创建一个临时列,以使用原始排序顺序填充整个数据集。自动编号临时“原始排序顺序”列。现在过滤您的数据。将过滤后的数据复制并粘贴到新工作表中。这只会将过滤后的数据移动到新工作表中,这样您的行号就会变得连续。现在自动编号您想要的字段。返回到您的原始工作表并删除过滤的行。将次要工作表中新编号的数据复制并粘贴到原始工作表的底部。然后清除您的过滤器并按临时“原始排序顺序”列对工作表进行排序。这会将您新编号的数据恢复到其原始顺序,然后您可以删除临时列。
【讨论】:
添加一列,例如“已选择”。 然后过滤您的数据。 转到“已选择”列。为所有行提供任何代理文本或数字。比如 '1' 或 'A' - 现在你的隐藏行是空白的 现在,清除过滤器并使用排序 - 两个级别 排序方式 - 'Selected' Ascending - 这会在底部留下空白单元格 添加排序级别 - '任何你想要的列'你的订单
现在,你为什么不自己拖动自动填充。
糟糕,我在这里没有名声。
【讨论】:
我同样需要为另一列上的每个值填写一个序列系列。我尝试了上述所有答案,但无法解决问题。我用一个简单的 VBA 宏解决了这个问题。
我的数据具有相同的结构(但有 3000 行):
下面是代码:
> 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
希望对你有帮助!
【讨论】:
第 1 步:突出显示您要填充的列的整个列(不包括标题)
第 2 步:(使用 Kutools)在插入下拉菜单中,单击“填充自定义列表”
第 3 步:点击编辑
第 4 步:创建您的列表(例如:1、2)
第 5 步:选择新的自定义列表,然后点击“填充范围”
完成!!!
【讨论】:
【讨论】:
最简单的方法是删除过滤器,从总数据顶部填充系列。重新过滤所需的数据,将数字列表复制到新工作表中(这应该只是您要添加编号的总行)粘贴到 A1 列。将“1”添加到B1列,右键单击并按住然后向下拖动到数字末尾并选择“填充系列”。现在返回带有过滤器的列表,并在右侧的下一列“VLOOKUP”中将过滤后的数字与您粘贴到新工作表中的列表相对应,并返回第二个值。
【讨论】:
最好的选择是使用公式 =Row()-Row(ColumnHeaderCell) 然后将其应用于整个列 [但这不适用于过滤器行号]
【讨论】: