如何给相同姓名添加相同编号

如下两个表格:

第一种情况是按姓名排序的,第二种情况姓名未加排序。

两种情况下,怎样给相同姓名添加相同编号?

今天韩老师给出函数法与VBA法。

函数方法

相同姓名有序排列:

1、在A2单元格输入编号1;

2、在A3单元格输入公式:

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

该公式的含义是:

如果B3和B2姓名相同,则填写B2对应的编号A2,否则A2 1;

相同姓名凌乱无序排列:

其实在真正工作中,有序排列的姓名不多,更多的是无序排列。

1、在F2中输入公式:

=IFERROR(VLOOKUP(G2,IF({1,0},G$1:G1,F$1:F1),2,0),N(F1) 1)

向下填充,即得结果:

其中:

IF({1,0},G$1:G1,F$1:F1):

是由IF函数重新构建一动态区域,该区域有两列:

  • 第一列是姓名,起始单元格是G1,结束单元格随公式向下填充而扩展;

  • 第二列是编号,起始单元格是F1,结束单元格随公式向下填充而扩展;

公式不管填充到哪一行,该动态区域的结束行都是当前公式所在行的上一行。

VLOOKUP(G2,IF({1,0},G$1:G1,F$1:F1),2,0):

在上述动态区域中精确查找姓名对应的编号。

IFERROR(VLOOKUP(G2,IF({1,0},G$1:G1,F$1:F1),2,0),N(F1) 1):

如果查找姓名G2对应的编号出错,则返回N(F1) 1;

公式向下填充,如果到第12行,则:查找姓名G12对应的编号出错,则返回N(F11) 1。

N函数:

语法:N(VALUE);

功能:将不是数值的值转换为数值形式;

不同参数VALUE,对应的返回值:

本示例中,N(F1)的返回值是0。

注:无序排列的公式同样适合有序排列!

VBA法

代码为:

Sub 编号()

Dim a As Object, i As Long '创建字典/

Set a = CreateObject("scripting.dictionary")

For i = 2 To Range("b1").CurrentRegion.Rows.Count

If Not a.exists(Cells(i, 2).Value) Then '添加编号到字典,第一个编号不存在),则

k = k 1 '计数

a(Cells(i, 2).Value) = k '给字典key编号,第一个编号是1,第二个编号是2......

Cells(i, 1) = k '返回给第一列,分组

Else '如果字典(编号)存在

Cells(i, 1) = a(Cells(i, 2).Value) '直接在字典里查询编号

End If

Next

End Sub

用法:

(0)

相关推荐

  • Excel怎么给同样内容的表格编号(如何给相同姓名添加相同编号)

    如下两个表格:第一种情况是按姓名排序的,第二种情况姓名未加排序.两种情况下,怎样给相同姓名添加相同编号?今天韩老师给出函数法与VBA法.函数方法相同姓名有序排列:1.在A2单元格输入编号1:2.在A3 ...

  • Word2007的表格中如何添加项目编号

    每到考试结束,老师需要制作学生的成绩单,以及班级排名,如果采用的是在Word中制作表格,输入学生姓名和成绩这种方法,那就需要在这些表格中添加项目编号了,班级人数众多,手动添加显然不是可取的方法。 ①打 ...

  • 给Word2007中的表格添加项目编号

    ①打开Word2007,绘制一个表格,如要把首列添加项目编号,那么选中整个首列。 ②单击开始,然后点击下图红色方框标记处,弹出编号库选项界面,点击定义新编号格式。 ③在定义新编号格式界面,我们可以设定 ...

  • ChemBio 3D软件如何添加序列编号

    ChemBio 3D软件能够轻松快捷地建立和编辑化学模型,在化学.生物.医药领域应用广泛.本教程将向大家介绍如何给ChemBio 3D添加序列编号和原子符号. ChemBio 3D软件添加序列编号和原 ...

  • 怎么关闭Word文档中自动添加项目编号

    怎么关闭Word文档中自动添加项目编号 1.启动Word 2013,打开"Word选项"对话框,在左侧选择"校对"选项,在右侧窗格中的"自动更正选项& ...

  • Word文档中为添加项目编号设置快捷键

    Word文档中为添加项目编号设置快捷键 1.启动Word 2013,打开"Word选项"对话框,在左侧选择"自定义功能区"选项,再单击右侧窗格中的"自 ...

  • word文档如何添加多级编号

    在使用word时,我们经常为了使其看起来有条理,而添加多级编号.那么如何设置呢? 首先,打开word文档,输入需要的内容,全选. 点击开始菜单栏,选中多级列表,选择编码类型. 按住CTRL选中所有中标 ...

  • PDF文件如何添加页面编号?PDF添加页面编号教程

    PDF文件如何添加贝茨编号,PDF添加贝茨编号方法是什么呢?下面我们来看看对贝茨编号的添加方法. PDF添加页面编号教程 我们首先来打开PDF编辑器,打开下拉菜单文件,选择打开选项,打开我们要编辑的P ...

  • 在word中怎么给一段文档添加段落编号呢?

    一篇文章段落太多,如果想要找到自然段,那怎么给word中一段文档添加段落编号呢?我们来学习一下. 步骤 在电脑桌面,右键-新建一个word文档. 打开word文档,复制粘贴一段内容,分出几个段落. 全 ...

  • word文档怎么添加多级编号?

    word文档怎么添加多级编号?很多朋友都不是很清楚,下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 先输入内容 全选 选择菜单栏——开始——多级列表 选择编码类型,这里我选了第一个 按住CTRL ...