1. 首页 > excel教程 > excel分组编号递增(excel如何分组序号)

excel分组编号递增(excel如何分组序号)

excel分组编号递增(excel如何分组序号)

有16000人参与“社保代扣代缴协议”,需要将每16人设定为一组,第116行重复编号为1、第1732行重复编号为2、…、第1598516000行重复编号为1000。怎么弄?

上面是前段时间我帮助朋友解决的一个真实问题,我把它称之为数据分组重复编号。16000行数据,编号值从1到1000。如果采用输入数字+粘贴的方式处理,工作量较大,且容易出错。基于此,我分享两种方法给各位,3秒钟实现16000行数据自动分组编号。

方法1:函数法

1、操作步骤

编辑“连续重复编号”公式。在A1单元格中输入公式:=IF(MOD(ROW,1)=0,ROW(A)/16,INT(ROW(A)/1)+)。如下图所示:

注:公式中所有数字、符号、标点,都必须在“英文输入法”状态下输入

快速选定“连续重复编号”区域。用鼠标选点击A1单元格;在Excel地址栏输入A16000;按住“Shift”键不松手,再按“Enter”键。完成以上三个步骤之后就可以快速选定需要连续重复编号的区域。如下图所示:

快速填充公式。选定“连续重复编号”区域之后,在“开始”选项卡中,点击“填充”选项卡,选择“向下”选项,即可完成公式自动填充。“连续重复编号”结果如下图所示:

注:很多朋友习惯用鼠标拖动填充公式,此处由于编号多达16000行,采用鼠标拖动填充将很耗时,故不推荐使用。

2、函数解释

公式中共运用了4个函数。我们先来看看这四个函数的各自作用。

ROW)函数。ROW)函数返回该行任意一个单元格所在的行号,如:ROW(A1)=13、ROW(B1)=13。

INT)函数。取整函数,如:INT(0.)=0、INT=2、INT(3.)=3、INT(1.)=2。即:当x≥0时,INT=x值的整数部分(非四舍五);

当x<0时,INT=(x值整数部分的绝对值+)乘以1。

MOD)函数。求两个数相除的余数,如:MOD(1,1)=1、MOD(16,1)=0。当MOD(x,)=0时,x即为y的整数倍。(注:开始个参数为被除数,第二个参数为除)

IF)函数。IF)函数有三个参数,即:IF(逻辑判断表达式,结果1,结),当逻辑判断表达式成立(即为真:TR),IF)函数返回结果1;当逻辑判断表达式不成立(即为假:FAL),IF)函数返回结果2。

然后我们来理解整个公式的含义。

=IF(MOD(ROW,1)=0,ROW(A)/16,INT(ROW(A)/1)+)

IF开始参数MOD(ROW,1)=0:判断单元格所在行号除以16后的余数是否等于0,也就是行号是否能被16整除。很显然,16、32等能被16整除,余数=0,条件成立;15、17等不能被16整除,余数≠0,条件不成立。

IF第二参数ROW(A)/16:当开始参数条件成立时,编号等于行号除以16的商。例如:

A16,编号=ROW(A1)/16=16/16=1

A32,编号=ROW(A3)/16=32/16=2

……

IF第三参数INT(ROW(A)/1)+1:当开始参数不成立时,编号等于行号除以16的商取整后再加1。例如:

A15,编号=INT(ROW(A1)/1)+1=INT(15/1)+1=INT(0.937)+1=0+1=1

A17,编号=INT(ROW(A1)/1)+1=INT(17/1)+1=INT(1.062)+1=1+1=2

……

方法2:VBA法

1、操作步骤

进入VBA编辑窗口。按组合键Alt+F11(或者单击“开发工具”选项卡“VisualBasic”按)进入Excel中的VisualBasic。

在“插入”菜单中选择“模块”命令,然后在右侧窗口中输入以下代码:

Subrep)Dimi%Fori=1To1000Sheet2.Range("A"&(16*i1)&":A"&(16*))=iNextiEndSub登录后复制

按F5键(或者单击快速工具栏中的运行按)运行以上程序之后,即可在A1:A16000单元格中快速生成连续重复编号,运算过程不到一秒钟,如下图所示。

2、代码解释

Fori=1To1000:用于指定编号的取值范围。如果编号取值是2到25,则写成Fori=2To25。

Sheet2:用于指定需要编号的工作表。sheet2并非指的是工作表的名称,而是指Excel工作簿的第2张表(从左),若需要在第1张表中生成编号,只需将代码改成sheet1即可,其他情况类推。

Range("A"&(16*i1)&":A"&(16*)):用于指定编号的单元格范围和规则,意思是从A1单元格开始到A(16*)单元格止每16个单元格编1个号。

"A"指的是需要生产编号的列号,若需要在B列或C列生成编号,则写成“B”或者“C”;

若需在某一列第m个单元格开始生成编号,则只需将16*i–15替换成16*i+m16、16*i替换成16*i+m1即可。

若需要每5个单元格编1个号,并从B1开始编号,则可以写成Range("B"&(5*i)&":B"&(5*))

重点回顾

快速选定某区域。用鼠标选定备选区域左上角的单元格(如:A);在Excel地址栏输入备选区域右下角的单元格(如:B1);按住“Shift”键不松手,再按“Enter”键。完成以上三个步骤之后即可快速选定某区域。

巧用Excel函数是关键。有很多初学者已经掌握了大量的Excel基本函数,但是就是不知道怎么样、何时用、用哪种。我建议大家把Excel基本函数当作我们炒菜的“素材”,把数学规律、事件内隐藏的逻辑关系当作炒菜的“工具”,多思考、勤实践,那么再遇到问题,就会“信手捏来”了。

相关学习推荐:excel教程

以上就是实用Excel技巧分享:16000行数据自动分组编号的详细内容,更多请关注东辰网其它相关文章!

本文由东辰网发布,不代表东辰网立场,转载联系作者并注明出处:https://www.ktwxcd.com/excel/1794.html

留言与评论(共有 0 条评论)
   
验证码:

联系我们

在线咨询:点击这里给我发消息

微信号:vx614326601

工作日:9:30-18:30,节假日休息