美文网首页EXCEL韩老师讲Office工具癖
Excel154 | 如何给相同姓名添加相同编号

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

作者: bitterfleabane | 来源:发表于2017-11-26 21:32 被阅读23次

如下两个表格:

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

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

今天韩老师给出函数法与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

用法:

相关文章

  • Excel154 | 如何给相同姓名添加相同编号

    如下两个表格: 第一种情况是按姓名排序的,第二种情况姓名未加排序。 两种情况下,怎样给相同姓名添加相同编号? 今天...

  • 子查询

    课后作业 1.查询工资高于编号为7782的员工工资,并且和7369号员工从事相同工作的员工的编号、姓名及工资。 2...

  • 【1356】刘岱:姓名表字相同,不代表经历相同

    浩荡有而无,云烟往复还。开篇依然提醒大家出行时要注意防护呀。汉末三国时期人们大多是单名,在史料中偶尔能看到一些姓名...

  • SXAUFaceDemo接口需求

    上传图片接口上传图片后,返回给前台一个图片编号,后续接口将使用该图片编号 向人脸库中添加人脸图片编号姓名 列出人脸...

  • 《相同》

    我平躺在柔软的床上 就像死者刚躺在青石板下 我们有一个相同之处 都有一具尚未腐烂的躯体

  • 相同

    我平躺在柔软的床上 就像新死者躺在青石板下 我们有一个相同之处 都有一具尚未腐烂的躯体

  • 相同

    那天繁星满空 夜深得浓稠 我却记得 你的话比星星还多 你说我俩泼墨成形 愈演愈柔 好在画中人立 画者心知 偏是一人...

  • 相同

    樊威,一个大学,对软件,军事 黄雪,美剧,个人素质提升,看电影!偏内向性格。 邓世刚,吃火锅,象棋,看电影! 张琳...

  • 相同

    我们就像一块磁铁,一正一负,只可远观,而不可近玩焉。 不管是什么关系,互相的包容很重要,一味的忍让,就是一辈子的忍让。

  • 相同

    他人狼狈被自己取笑, 自己狼狈奢他人扶助, 是相同的。

网友评论

    本文标题:Excel154 | 如何给相同姓名添加相同编号

    本文链接:https://www.haomeiwen.com/subject/odulbxtx.html