excel怎么插入列自动排序编号|excel这操作66619秒搞定16000行excel数据自动分组编号

2023年05月15日 14:41:03 117阅读 0评论

转自excel教程

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

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

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(1)

函数法

1.操作步骤

(1)编辑“连续重复编号”公式。在a1单元格中输入公式:

=if(mod(row(a1),16)=0,row(a1)/16,int(row(a1)/16) 1)

如下图所示:

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(2)

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

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

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(3)

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

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(4)

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

2.函数解释

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

l row()函数。row()函数返回该行任意一个单元格所在的行号,如:row(a13)=13、 row(b13)=13。

l int()函数。取整函数,如:int (0.1)=0、int (2)=2、int (3.7)=3、int(-1.1)=-2。即:当x≥0时,int (x)= x值的整数部分(非四舍五入);

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

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

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

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

=if(mod(row(a1),16)=0,row(a1)/16,int(row(a1)/16) 1)

if第一参数mod(row(a1),16)=0:判断单元格所在行号除以16后的余数是否等于0,也就是行号是否能被16整除。很显然,16、32等能被16整除,余数=0,条件成立;15、17等不能被16整除,余数≠0,条件不成立。

if第二参数row(a1)/16:当第一参数条件成立时,编号等于行号除以16的商。例如:

a16,编号= row(a16)/16=16/16=1

a32,编号= row(a32)/16=32/16=2

……

if 第三参数int(row(a1)/16) 1:当第一参数不成立时,编号等于行号除以16的商取整后再加1。例如:

a15,编号= int(row(a15)/16) 1= int(15/16) 1=int( 0.9375) 1=0 1=1

a17,编号= int(row(a17)/16) 1= int(17/16) 1=int( 1.0625) 1=1 1=2

……

2

vba法

1.操作步骤

(1)进入vba编辑窗口。按组合键alt f11(或者单击“开发工具”选项卡“visual basic”按钮)进入excel中的visual basic

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

sub rep()

dim i%

for i = 1 to 1000

sheet2.range("a" & (16 * i - 15) & ":a" & (16 * i)) = i

next i

end sub

(3)按f5键(或者单击快速工具栏中的运行按钮

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(5)

)运行以上程序之后,即可在a1:a16000单元格中快速生成连续重复编号,运算过程不到一秒钟,如下图所示。

excel怎么插入列自动排序编号(EXCEL这操作66619秒搞定16000行Excel数据自动分组编号)(6)

2.代码解释

for i = 1 to 1000:用于指定编号的取值范围。如果编号取值是2到25,则写成for i = 2 to 25。

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

range("a" & (16 * i - 15) & ":a" & (16 * i)):用于指定编号的单元格范围和规则,意思是从a1单元格开始到a(16 * i)单元格止每16个单元格编1个号。

"a"指的是需要生产编号的列号,若需要在b列或c列生成编号,则写成“b”或者“c”;

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

若需要每5个单元格编1个号,并从b1开始编号,则可以写成range("b" & (5 * i - 4) & ":b" & (5 * i))

重点回顾

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

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

,

以上就是文章“excel怎么插入列自动排序编号|excel这操作66619秒搞定16000行excel数据自动分组编号”全部内容,如需学习更多电脑、手机使用经验方法教程、软件使用知识请在本站搜索,科普知识网专注于普及各类生活小常识、冷知识、等生活中常用的操作经验;如果本篇文章对您有帮助,请不吝支持本站。

本文链接:http://puzhishi.com/jingyan/233401.html

1.免责声明:本文编辑科普网——文章若无特殊说明,均属本站原创,若转载文章请注明网址。

2.本站除部分作品系原创外,其余均来自网络或其它渠道,本站保留其原作者的著作权!如有侵权,请与站长联系!

发表评论

快捷回复: 表情:
评论列表 (暂无评论,117人围观)

还没有评论,来说两句吧...

目录[+]