站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

实用Excel技巧分享:16000行数据自动分组编号

时间:2022-05-30 [网络编程]作者:fabuyuan 浏览:9 次

在之前的文章《实用Excel技巧分享:怎么忽略隐藏列进行求和?》中,我们了解了忽略隐藏列进行求和的方法。而今天我们来聊聊数据分组编号,介绍一下3秒钟快速实现16000行数据自动分组编号的方法,快来学习学习!

手机如何做表格:点击查看

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

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

方法1:函数法

1、操作步骤

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

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

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

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

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

2、函数解释

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

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

  • 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。

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

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

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-1616 * 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技巧分享:16000行数据自动分组编号的详细内容,更多请关注站长家园其它相关文章!

本文标签:  Excel

转载请注明来源:实用Excel技巧分享:16000行数据自动分组编号

本文永久链接地址:https://www.adminjie.com/post/12956.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • docker是容器吗

      docker是容器吗

      docker不是容器;容器是打包代码及其所有依赖的软件的标准单元,用于开发、交付和部署,使应用可以从一个环境快速可靠地运行到另一个环境,而docker则是容器技...

    • Github 上 8 个不可错过的 Vue 项目,快来收藏!!

      Github 上 8 个不可错过的 Vue 项目,快来收藏!!

      本篇文章给大家整理分享8个GitHub上很棒的的Vue项目,都是非常棒的项目,希望当中有您想要收藏的那一个。Github上8个很棒的Vue项目:Ma...

    • 分享一个有趣的php版本的扫雷!

      分享一个有趣的php版本的扫雷!

      本文给大家分享网友写的一个PHP版本的扫雷,挺有意思的,边玩边学习~github地址:https://github.com/maxiao64/MineWeepe...

    • docker容器重启后数据会丢吗

      docker容器重启后数据会丢吗

      docker容器重启后数据会丢失的;但是可以利用volume或者“datacontainer”来实现数据持久化,在容器关闭之后可以利用“-v”或者“–volu...

    • javascript可以对事件作出响应吗

      javascript可以对事件作出响应吗

      javascript可以对事件作出响应,因为可以将JavaScript设置为当某事件发生时才会被执行;事件也即发生在html元素上的事情,当在html页面使用J...

    热门文章