Excel中的”数列“,你用对了吗?这有用法实列,参考一下

大家好 , 我是爱聊Excel的小胖子,廖晨,上文我们了解了一下,Excel内置序列的用法,发完后,发现有一个点没有聊到,这里着重说明一下,用函数的方法创建的序号 , 它还有一个比较火的使用场景就是智能序号,哪什么是智能序号呢?因为普通的序号,删除或调整行的位置,序号需要重新调整,而智能序号,不论删除或移动位置,序号始终保持原来的大小顺序,不过真正的智能序号,需要借用新版Excel的一个功能:智能表格,因为智能表格在行列增加的时候,自动套用主题格式,也会自动续填公式,这样不论我们删除或新插入数据,序号都会保持连续,智能表格的开启方法也很简单,就是选中已有数据的单元格,按ctrlt或点【开始】菜单下的选用套用格式都可以开启智能表的功能,具体操作步骤如下:

Excel中的”数列“,你用对了吗?这有用法实列,参考一下

智能表格开启步骤(图1)
如果不考虑插入表格的情况,我们也可以配合条件格式来实现智能序号,只要设置得当,我们能做到一次制作,序号可以根据内容自动增减,有兴趣的网友,你可以自己尝试完成一下,应该挺有意思的?
前文已了,书续下言,今天我们聊的是关于数列在Excel的变形和用法,不过首先回顾一下什么是数列吧 。

常见数列

最常见的数列无非就是等差数列和等比数列,而对应的数列系数就是公差和公比:
  • 等差数列:开始值为1,公差为2,就可以得到奇数数列,开始值为0 , 公差为2,就可以得到偶数数列,公差为1,就是序号序列 。
  • 等比序列:开始值为1,公比为2,则得到:1,2,4 , 8 , 16...;如果公比为1,则得到的数列会一直为1,这也是乘法和加减法的区别 。
而在Excel中,公差和公比就变为序列窗口中的步长,哪怎么在Excel中创建一个简单的数列呢?需以下步骤:
首先:选中创建的数列范围,接着输入数列的开始值;
:没有开始值是无法正常生成数列 。
其次:点击”开始“菜单下的“填充”按钮,选择[序列(s)] , 在弹出的窗口中 , 按实际情况选择行列,类型选择等差数列,步长为1,然后确定;
Excel中的”数列“,你用对了吗?这有用法实列,参考一下

填充序列步骤示意图(图2)
数列可以用来创建工资条,就以双行工资条为列,一行为标题,一行为工资的实际内容,初始的状态是一个工作表中含有N条工资内容,我们需要解决的问题就是将后面增加标题都加在每行工资内容的前面,一般都用拖拽来生成数列,今天我们玩一玩,用公式来创建工资条需要的数列:
首先需要知道工资数据的总条数 , 这个很重要,因为标题需要和工资数据条数相同,案例中工资数据为20行 , 所以标题也为20行 , ,不过在创建整体数列之前,需要先创建标题的实际内容:
  • 在名称栏输入A21:f40,然后依次录入姓名,工号,入职日期,工作天数 , 应发工资,实发工资,然后点击开始菜单下填充按钮 , 选择【向下】,完成标题填充;(提示:录入标题,用tab键切换录入单元格)

Excel中的”数列“,你用对了吗?这有用法实列,参考一下

工资条的制作步骤(图3)
然后在名称栏输入g1:g40,回车,在g1录入公式=mod(row(),21),直接CTRL 回车,生成输入,然后点击【数据】命令下的升序排序按钮 。弹出排序排列窗口,选择扩展到其他的引用范围,确定 。
Excel中的”数列“,你用对了吗?这有用法实列,参考一下

工作条的制作步骤示意图(图4)
:20行的数据为什么公式中取余数系数是21呢?因为row()获取的开始行数为1,如果取余系数是20,则数列最后一行对应生成数是19,而21既能满足数据行的数字要求,也能保证标题行对应的数字都比数据行对应的数字小1 。

阶梯数列

在平常的工作中,这两个数列虽然常用,但还有一个数列也常见它的身影,它就是之前文中提到过的阶梯数列,它更像等差序列的扩展,它除了有等差序列的递增或递减的关系,还有它特有的阶梯系数,及每个数列值的重复次数,常见的数列为:1,1,1,2,2,2,3,3,3......,1,1,2,2,3,3......等,常用在条件格式中,比如用一个单元格来控制一行或多行数据的内容的显示和隐藏,如果你想制作完全自动化的工资条,就需要它的帮忙才能实现,下面用一个实列来总结一下它在条件格式中的通用公式
例:数据从第一行开始,以A列奇数单元格为判断标准,比如A1,A3,A5....,如为,则A1和A2,A3和A4,A5和A6....,所对应的数据单元格边框为无非空,则自动增显黑色边框
思路:第1,2行参考的单元格为A1,第3,4行参考的单元格为A3,依次类推,第5,6行的参考单元格为A5......,类似,1,1,3,3 , 5,5.....阶梯序列,哪条件格式的公式该如何编写呢?
伪公式:1 , 2行对应为单元格为A1,因a为判断的标准都在A列,所以公式中要锁定A列,剩下就是数字的关系,对照上面的思路,可知,
  • 1,2行对应为1,
  • 3 , 4行对应的数字为3=1*2 1,
  • 5,6行对应的数字为5=2*2 1 ,
哪1,是不是可以理解为0*2 1 , 知道这些,我们如何将1 , 2返回0呢?因为阶梯系数为2,统一除以2 , 得到0.5 , 1,同减0.5,在取整就得到零,同理3,4可以得到1;5,6可得2;以此类推:
则引用单元格行数公式为:int((行数/阶梯系数 – 0.5)*阶梯系数1,
等价公式也可以为:int((行数-1)/阶梯系数)*阶梯系数1
所以A列单元格行数公式为int((row($A1)-1)/2)*2 1 , 最后拼接上单元格列的标识符A,就组成了判断标准的单元格位置,在用字符串转化为引用位置的函数indirect
操作步骤
选中要使用条件格式的引用单元格,然后点击开始下的条件格式按钮,新建规则,选择使用公式确定要设置的单元格 , 然后录入公式=INDIRECT("$A"&INT((ROW($A1)-1)/2)*2 1)<>"",设置的单元格的边框为黑色 , 确定完成 。
Excel中的”数列“,你用对了吗?这有用法实列,参考一下

制作案例步骤示意图(图5)
这样A1,A3,A5...录入数据 , 后面的单元格自动设置上边框,如果内容清空后面的单元格的边框自动消失,哪接下来我们再做一个:一个单元格控制3行单元格样式的例子
:数据从第一行开始,以A列单元格的A1,A4,A7,A10,A13,A16......引用位置为判断标准 , 分别控制1,2 , 3行;4,5,6行;7,8,9行;10 , 11,12行;13,14,15行;16,17 , 18行的边框样式是否显示 。
伪公式:因为判断的规则的源都在A列,需要使用绝对引用符$锁定A列为绝对引用位置 , 剩下就是类似1,1,1,4,4,4,7,7,7,10,10,10,13,13,13,16,16,16即:
  • 1,2,3对应为1,根据上例的经验:0*31,行数对应生成的值为0;
  • 4,5,6对应为4,即1*3 1,行数对应生成的值为1;
  • 7,8,9对应为7 , 即2*3 1,行数对应生成的值为2;
根据上面总结的等式:int((行数-1)/阶梯系数)*阶梯系数 1,此例的阶梯系数为3,即控制引用单元格行数的数字公式为:int((行数-1)/3)*3 1
操作步骤:
  • 同上只需将条件格式的录入公式变为=INDIRECT("$A"&INT((ROW($A1)-1)/3)*3 1)<>"",然后点击设置格式按钮,自定义格式后确定即可 。
说到这,我们不难发现,通过一个单元格内容来控制多行单元格的格式,核心就在通过行数对应关系:总结出适用的公式,哪么问题来了,这类问题有没有通用公式 , 在使用的时候,带入相应的数字即可?
答案是肯定的,我们再来看看之前用过的控制单元格行数的公式=int((行数-1)/阶梯系数)*阶梯系数 1,这个公式中,需要着重解释一下其中的两个1,都跟引用范围的开始位置有关,比如开始引用位置为A2,则数字由1变为2,所以通用的公式为:
  • =int((行数-开始单元格行数)/阶梯系数)*阶梯系数 开始单元格行数
下面我们就来验证一下上一篇文章中,假如通过1个单元格控制四行单元格,开始引用单元格为A2,则条件格式的控制行数的公式为=int((row($A2)-row($A$2))/4)*4 row($A$2)
等价于公式=int((row($A2)-2)/4)*4 2
是不是和相吻合呢?
【Excel中的”数列“,你用对了吗?这有用法实列,参考一下】好了,今天的文章就写到这了,关于我知道的数列在Excel中的应用就这些了 , 文章的最后是彩蛋细说一下=""和isblank()函数的区别,=""只能判断引用单元格转化的最后结果是否为空,而isblank则可以检测出单元格的是否为空;只要有任何字符则返回false,可以根据实际的情况来选用isblank函数或="" 。如果我的文章,能让你有所收获,那是我最希望的,喜欢我就关注我吧,我是爱聊Excel的小胖子-廖晨,如有问题可以私信或留言给我,我会第一时间回复你!

相关经验推荐