在Excel里给出一系列的序列数”1、2、3、4……”是十分直观且简单的操作,只需在第一个单元格中填入数字1后,通过下拉填充即可迅速完成。当我们需要填充一种特殊的序列,如“1、1、1、2、2、2、3、3、3……”这样的递增但重复的序列时,单纯地使用下拉填充就不再适用了。
本文将向大家介绍如何处理这种特殊序列的填充问题,并以日期填充作为实例来展开说明。对于填充数字序列或具有不同重复次数的值,都可以参照本文中提到的方法。
一、场景描述
以一列日期数据为例,如A2至A16单元格内。具体要求是每三个日期的值都相同,每隔三个日期就递增一天。
二、解决方案
方法一:排序法
第一步:在A2单元格中输入起始日期,然后使用填充柄向下拖动以填充日期直至你所需的终止日期(例如:“2021/12/5”)。
第二步:在B列建立一个辅助列并填充一个序列(例如从1至5)。然后复制并粘贴这个序列多次,确保序列的数量与每个日期的重复次数相匹配。在此例中,每个日期重复三次,所以序列1至5共需三个。
第三步:选择B列中的任意一个单元格(如B2),点击“数据”菜单下的“升序”进行排序。排序后的结果将如预期所示。
第四步:选择A2至A16的单元格区域,按F5键打开“定位条件”对话框,然后选择“空值”。点击确定后,所有的空单元格将被选中。在这些单元格中输入“=A2”,然后按Ctrl+Enter键。
完成上述步骤后,即可得到所需的日期填充结果,随后可删除辅助列。
需要注意的是,排序法适用于重复次数相对较少的场景。如果每个日期的重复次数较多,排序法可能就不再适用。
方法二:MOD函数法
第一步:在A2单元格中输入起始日期“2021/12/1”。
第二步:在A3单元格中输入公式“=IF(MOD(ROW()+1,3)=0, A2+1, A2)”,然后拖动A3单元格的填充柄向下复制公式。
公式解析
(1) “ROW()”函数会返回公式所在单元格的行号。
(2) “MOD”函数用于返回两数相除的余数。例如,“MOD(3, 2)”会返回1,因为3除以2的余数是1。
(3) 在此例中,“MOD(ROW()+1, 3)”的返回值将每三个行号循环一次,即每隔三行MOD的返回值将为0。
(4) “IF”函数用于判断MOD的返回值。当MOD的返回值为0时,公式将在上一行日期的基础上增加一天;否则,它将与上一行日期相同。
MOD函数法比排序法更加灵活。当每个日期的重复次数较多时,MOD函数法依然能够轻松解决问题。通过调整MOD函数的第二个参数,你可以灵活地控制每个日期的重复次数。