lookup真强大!按指定次数重复内容并添加序号

你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天要分享的内容是按指定次数重复内容并添加序号。主要用到lookup函数,这个问题还是挺有实际意义的,学会可以用来多表合并。
下面来看下具体的效果:根据左表的姓名和次数得到右表的结果。名字重复指定的次数,并且后面添加序号。

这个效果用函数实现起来还是有点困难的,公式也相对较长。不过掌握后还是很有用处的,可以实现多表内容合并在一张表中。

在D3单元格输入下面的公式,向下填充,完成。

=TEXT(LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))),A$3:A6)&LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))))-ROW(A1),";")

这个公式看起来很长,其实分为两个部分,用&连接起来。第1部分是按次数重复姓名,第2部分是添加序号。而且这两部分有重复的,只要理解了一个部分,另一个部分就好理解了。

先来看第1部分LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))),A$3:A6),是个lookup函数。

第1参数ROW(A1)-1是个用row函数构建的序号,从0开始,公式下拉会变为1,2,3...

第2参数SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5)))是一个累加求和,返回的结果为{0;2;5;9;10}。相当于下图C列的结果。用的是subtotal和offset的多维引用,可以免去辅助列。

第3参数A$3:A6是姓名的区域,没什么好说的。重要的是这3个参数放在一起,lookup会返回什么结果。如下图C列所示,得到了按次数重复的姓名。

其实这个公式的关键是找到它的分界点{1;3;6;10;11},你可以手工推算一下。第1个姓名重复2次,那就是1,2。第2个姓名重复3次,那就是从3开始,分别是3,4,5。以此类推,得到D列的数字。

我们只取分界点{1;3;6;10;11},用{1;3;6;10;11}-1就是{0;2;5;9;10}。这个关系搞清了,这个公式就没什么难度了。

再来看第2部分LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))))-ROW(A1),还是个lookup函数,但是后面要减row(a1)。

其中它的第1,第2参数和第1部分的公式是完全一样的。所以LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))))返回的结果如下图C列所示,按次数重复分界点。
LOOKUP(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$2,,,ROW($1:$5))))-ROW(A1)是用上一步的结果减去row(a1),返回的结果如下图E列所示,刚好得到每个人的序号,只不过是负数。
把第1部分和第2部分连起来的效果如下图C列所示。我们发现当所有的姓名重复完后,公式再下拉会出现负数。为了将这些负数显示为空,所以最后用了个text函数。最后的结果就如下图E列所示。
链接:

https://pan.baidu.com/s/13LWfdgMY7iu7j01PcN7vRQ

提取码:a1ao
(0)

相关推荐

  • 只要函数基础扎实,遇到难题也能轻易解决!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 我们这一代人都玩过<三国志>这款游戏,也为每个人心目中最厉害的三国英雄而争论过.恰巧这里有一份三国主 ...

  • 谁说VLOOKUP函数不能倒序查找?

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 熟悉VLOOKUP函数的朋友们都知道它的查找方向是从上到下的,即当有多个符 ...

  • frequency法实现按指定次数重复内容

    先看下源数据和要实现的效果.下图左表是源数据,包含要重复的内容和次数,如①所示.右边两列是重复后的效果,如②所示.也就是A重复2次,B重复3次,以此类推. 首先,我们用辅助列的方法来完成.在C列添加辅 ...

  • 按指定次数重复内容的套路合集

    -套路合集- 按指定次数重复内容 1.vlookup精确查找(4参为0) 如下图所示,B列的是要重复的内容,C列是要重复的次数,最后想要的效果是E列那样.A重复2次,B重复3次...... 首先在A列 ...

  • 如何按指定次数重复内容?

    直接看案例: 我们需要根据组员人数自动重复对应的组长行数,方便我们后续填写组员信息 解决方法1: 我们使用2016版本自带的Power Query处理,只要简单几步即可完成,非常方便(其他版本2010 ...

  • 实战|模板 - 按指定次数重复内容

    今天,我们来说点,关于重复内容的事情 内容少的情况下,重复内容,并不是什么难事,拖动一下即可 但是如果内容较多,我们还是得学点技巧,批量来处理 为了演示方便,我们就来1-6月这个举例下面,小编就总结一 ...

  • 用最简单的方式实现-按指定次数重复内容

    废话不讲,直奔主题,那就是根据指定的次数重复内容 先简单说一下传统的方式 技巧法 步骤1: 输入公式=SUM($B$2:B2)-ROW(A1) 下拉到结果为0停止,多出部分删除 按照辅助列(C列),降 ...

  • 按指定次数重复内容

    前言 有时候我们需要对一列单元格按照指定的次数进行重复,如下图所示,D列为结果. 解决方法 今天我们试图用VBA来实现,方法如下: ALT+F11 打开VBA,插入任意模块,在模块中输入如下代码: S ...

  • VLOOKUP按指定次数重复数据

    -01- 下限分段点 如下图所示,要根据C列的次数重复B列的部门,结果如F列所示.比如"销售部"的次数为3,那么"销售部"就要重复出现3个. 1)在A列添加辅助 ...

  • 按指定次数重复显示,两种方法随意选

    先来看数据源和要实现的效果: 咱们的最终目的,是希望按照B列指定的次数,来重复显示A列的标签内容. 函数控们的方法是这样的: 在D2单元格中输入一大串公式,按住Ctrl+Shift不放,按回车,然后下 ...

  • 跟李锐学Excel:LOOKUP函数按次数重复显示数据

    工作常用电子表格Excel经典公式大全