为X行数添加一个值,然后为下一个x行数添加另一个值

这是我的数据库的一个例子:

id year birthday ... 1 1995 10 Oct 1990 ... 1 1996 10 Oct 1990 ... 1997 10 Oct 1990 ... 2 1995 01 Aug 1988 ... 2 1996 01 Aug 1988 ... 2 1997 01 Aug 1988 ... 3 1995 21 Mar 1987 ... 1996 21 Mar 1987 ... 1997 21 Mar 1987 ... 

身份证是一个号码识别和个人。 数据库是纵向的,因此有多个收集date,我称之为年。 我不得不从包含信息的不同数据库编译这些数据,所以一些id号码没有被input,但是我希望它们是。 例如,这个数据库中的个人缺less1997年的身份证号码,第三个人在1996年和1997年缺less身份证号码。有没有办法使用公式添加这些值? 我有超过13年的300个人的数据,所以我不想手动input。

我没有看到足够的数据,但我认为macros观将更加适合

 Sub FillInEmpties() Dim i As Long Dim lr As Long lr = Range("B" & Rows.Count).End(xlUp).Row Dim cell As Range For i = 1 To lr Set cell = Range("A" & i) If IsEmpty(cell) Then cell = cell.Offset(-1, 0) End If Next i End Sub 

因为你将不得不在每个空单元格中input公式,这并不是真正有效的做事方式。


另一种方法是比较年份,然后根据年份差异填写A栏

把它贴在A3上,并把它拖下来

 =IF(B3>B2,A2,A2+1) 

在这里输入图像说明

我不确定是否需要一次或定期执行此操作,这可能属于超级用户,但是这里有一个无代码的方法:

  1. select列A.

  2. Ctrl + G调出GoTo,然后select空白 。 这将select你想要填写的单元格。

  3. 在编辑栏中,input所选第一个空白单元格上方的单元格,例如下面的第一个空白单元格为A4,所以我input=A3

    电子表格图像

  4. Ctrl + Enter ,公式将被复制到先前的空白单元格。

  5. 复制粘贴为值,你就完成了。