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

-套路合集-

按指定次数重复内容

1.vlookup精确查找(4参为0)

如下图所示,B列的是要重复的内容,C列是要重复的次数,最后想要的效果是E列那样。A重复2次,B重复3次......

首先在A列添加一个辅助列,在A3单元格输入公式=SUM(C$3:C3),向下填充。这样A列得到的数据就是C列次数的累加求和。然后在E2单元格输入公式=IFNA(VLOOKUP(ROW(A1),$A:$B,2,),E3)&"",向下填充,完成。

这个公式用的是vlookup的精确查找方式,外面套了个ifna是为了处理错误值,如果vlookup的结果出错,那么返回下一个单元格。这个公式刚开始的时候还是不太好理解的。因为它的结果会引用(依赖)下一个单元格,而下一个单元格会引用下下一个单元格。

如果不用辅助列也能做出来,公式比较长。在G2单元格输入第1个公式=IFNA(VLOOKUP(ROW(A1),IF({1,0},SUMIF(OFFSET(C$3,,,ROW($1:$4)),"<>"),B$3:B$6),2,),G3)&"",先按ctrl+shift,再按enter。向下填充。

在H2单元格输入第2个公式=IFNA(VLOOKUP(ROW(A1),IF({1,0},MMULT(N(ROW($1:$4)>=COLUMN(A:D)),C$3:C$6),B$3:B$6),2,),H3)&"",不用三键,向下填充。

这2个公式之所以不用辅助列,是因为已经用offset或mmult构建出A列的辅助列了,只不过放在内存数组中,而不是单元格中。

2.lookup升序查找

同样先看辅助列的公式,在A列添加辅助列(其它列也可以),在A3单元格输入公式=SUM(C$2:C2),向下填充,注意这个辅助列是从0开始的,比上一个例子的辅助列多个0。然后在E2单元格输入公式=LOOKUP(ROW(A1)-1,A$3:A$7,B$3:B$6)&"",向下填充,完成。

不用辅助列的公式也给出2个,第1个在G2单元格输入公式=LOOKUP(ROW(A1)-1,MMULT(N(ROW($1:$5)>COLUMN(A:D)),C$3:C$6),B$3:B$6)&""

第2个在H2单元格输入公式=LOOKUP(ROW(A1)-1,SUMIF(OFFSET(C$2,,,ROW($1:$5)),"<>"),B$3:B$6)&"",这2个公式都不用按三键,向下填充。主要用的函数还是offset和mmult。

3.match精确查找(3参为0)和升序查找(3参为1或缺省)

首先看match精确查找,其实和vlookup精确查找是差不多的。A列添加辅助列(其他列也可以),在A3单元格输入公式=SUM(C$3:C3),向下填充。然后在E2单元格输入公式=IFNA(INDEX(B$3:B$6,MATCH(ROW(A1),A$3:A$6,)),E3)&"",向下填充完成。

不用辅助列的公式就不写出来了,基本都差不多,大家可以自己下载文件查看。

再来看match升序查找,这种查找方式和lookup还有vlookup模糊查找的方式基本差不多。所以vlookup函数也可以用模糊查找的方式来完成,大家可以自己试一下。接下来还是看match升序查找,同样添加辅助列,在A18单元格输入公式=SUM(C$17:C17),向下填充。然后在E18单元格输入公式=INDEX(B$18:B21,MATCH(ROW(A1)-1,A$18:A$22))&"",向下填充完成。

4.textjoin+rept

textjoin是个文本连接函数,我个人是非常喜欢这个函数,所以很多时候都会往这个函数的方向来思考问题。在E2单元格输入公式=TRIM(MID(TEXTJOIN(,,REPT(A$3:A$6&REPT(" ",99),B$3:B$6)),ROW(A1)*99-98,99)),按三键结束,向下填充。

简单地说下大概的思路,先用重复函数rept来按次数重复内容,比如A重复2次就成了AA,B重复3次就是BBB,......当然AA中间还要加入99个空格,然后用textjoin将中间带空格的AA,BBB....连接成一个很长的字符串,最后用mid一个个提取出来。简单来说就是先重复,再连接,最后提取。

5.二维数组的万金油

在上篇文章《万金油公式在二维数组中的应用》中,我发现二维数组的万金油公式可以实现按次数重复内容的效果。在E2单元格输入公式=INDEX(A:A,SMALL(IFERROR(--MID(REPT(ROW($3:$6)&REPT(" ",99),B$3:B$6),COLUMN(A:I)*99-98,99),4^8),ROW(A1)))&"",按三键结束,向下填充。

这个题目和之前那个题目还是有些不一样的,因为之前那个题目要重复的次数不是像今天这样直接写在一个单元格中的,而是把所对应的内容横向分布在多个单元格中,所以现在也要像之前那样构建二维数组。有兴趣的童鞋可以自己看下公式。觉得复杂也可以用前面的公式。当然除了用函数,还可以用其他的方法,比如pq,vba等。

练习文件链接:

https://pan.baidu.com/s/18s8lODJzeTurSvvKVi3Vzw

提取码:7dmd

(0)

相关推荐

  • 有点难度的求和

    中间用逗号分隔的,现在前面二节不变,后面这一节要改在第1节加上第3节,如何用公实现,图如下 一.方法1: 1.公式截图 2.公式 =VLOOKUP("*,*,",MID(A1,1, ...

  • 分享几个有趣好玩的Excel公式~

    大家晚上好! 自动累计 在C2单元格输入,=SUM($B$2:B2),下拉公式,就会自动累计. 查找关键词 通过下方的公式,可以查找关键词 =LOOKUP(9^9,FIND($D$2:$D$5,A2) ...

  • SUBSTITUTE函数用法全总结

    HI,大家好,我是星光. 今天给大家分享一个函数,叫做SUBSITUTE. SUBSITUTE函数是Excel文本处理中最常使用的函数之一,可以将数据局部的旧值替换为新值,类似于基础操作里的查找与替换 ...

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

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

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

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

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

    直接看案例: 我们需要根据组员人数自动重复对应的组长行数,方便我们后续填写组员信息 解决方法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不放,按回车,然后下 ...

  • 王者荣耀云中君套路合集,会这几个技巧带飞全场,队友只喊六六六

    王者峡谷中拥有独一无二穿墙机制的英雄,云中君.云中君是一个拥有双形态刺客类英雄,既可以近战无限推进,也可以远程当做一个射手,进行消耗.云中君会给阵容的灵活性带来巨大的提升. 云中君被动技能云间游 云中 ...